from enum import IntEnum
from typing import overload, NewType, Optional, Tuple

from OCC.Core.Standard import *
from OCC.Core.NCollection import *
from OCC.Core.SelectMgr import *
from OCC.Core.Media import *
from OCC.Core.Geom import *
from OCC.Core.gp import *
from OCC.Core.TopoDS import *
from OCC.Core.Prs3d import *
from OCC.Core.Quantity import *
from OCC.Core.Aspect import *
from OCC.Core.Bnd import *
from OCC.Core.TCollection import *
from OCC.Core.TopAbs import *
from OCC.Core.PrsMgr import *
from OCC.Core.TColStd import *
from OCC.Core.Graphic3d import *
from OCC.Core.V3d import *
from OCC.Core.TopLoc import *
from OCC.Core.StdSelect import *
from OCC.Core.TColgp import *
from OCC.Core.Select3D import *
from OCC.Core.DsgPrs import *
from OCC.Core.Poly import *
from OCC.Core.Image import *

AIS_AnimationTimer = NewType('AIS_AnimationTimer', Media_Timer)
#the following typedef cannot be wrapped as is
AIS_IndexedDataMapOfOwnerPrs = NewType('AIS_IndexedDataMapOfOwnerPrs', Any)
#the following typedef cannot be wrapped as is
AIS_MapIteratorOfMapOfInteractive = NewType('AIS_MapIteratorOfMapOfInteractive', Any)
#the following typedef cannot be wrapped as is
AIS_MapOfInteractive = NewType('AIS_MapOfInteractive', Any)
#the following typedef cannot be wrapped as is
AIS_SequenceOfDimension = NewType('AIS_SequenceOfDimension', Any)
#the following typedef cannot be wrapped as is
AIS_SequenceOfInteractive = NewType('AIS_SequenceOfInteractive', Any)

class AIS_ListOfInteractive:
    def __init__(self) -> None: ...
    def __len__(self) -> int: ...
    def Size(self) -> int: ...
    def Clear(self) -> None: ...
    def First(self) -> False: ...
    def Last(self) -> False: ...
    def Append(self, theItem: False) -> False: ...
    def Prepend(self, theItem: False) -> False: ...
    def RemoveFirst(self) -> None: ...
    def Reverse(self) -> None: ...

class AIS_NListOfEntityOwner:
    def __init__(self) -> None: ...
    def __len__(self) -> int: ...
    def Size(self) -> int: ...
    def Clear(self) -> None: ...
    def First(self) -> False: ...
    def Last(self) -> False: ...
    def Append(self, theItem: False) -> False: ...
    def Prepend(self, theItem: False) -> False: ...
    def RemoveFirst(self) -> None: ...
    def Reverse(self) -> None: ...

class AIS_TrihedronSelectionMode(IntEnum):
	AIS_TrihedronSelectionMode_EntireObject: int = ...
	AIS_TrihedronSelectionMode_Origin: int = ...
	AIS_TrihedronSelectionMode_Axes: int = ...
	AIS_TrihedronSelectionMode_MainPlanes: int = ...
AIS_TrihedronSelectionMode_EntireObject = AIS_TrihedronSelectionMode.AIS_TrihedronSelectionMode_EntireObject
AIS_TrihedronSelectionMode_Origin = AIS_TrihedronSelectionMode.AIS_TrihedronSelectionMode_Origin
AIS_TrihedronSelectionMode_Axes = AIS_TrihedronSelectionMode.AIS_TrihedronSelectionMode_Axes
AIS_TrihedronSelectionMode_MainPlanes = AIS_TrihedronSelectionMode.AIS_TrihedronSelectionMode_MainPlanes

class AIS_MouseGesture(IntEnum):
	AIS_MouseGesture_NONE: int = ...
	AIS_MouseGesture_SelectRectangle: int = ...
	AIS_MouseGesture_SelectLasso: int = ...
	AIS_MouseGesture_Zoom: int = ...
	AIS_MouseGesture_Pan: int = ...
	AIS_MouseGesture_RotateOrbit: int = ...
	AIS_MouseGesture_RotateView: int = ...
AIS_MouseGesture_NONE = AIS_MouseGesture.AIS_MouseGesture_NONE
AIS_MouseGesture_SelectRectangle = AIS_MouseGesture.AIS_MouseGesture_SelectRectangle
AIS_MouseGesture_SelectLasso = AIS_MouseGesture.AIS_MouseGesture_SelectLasso
AIS_MouseGesture_Zoom = AIS_MouseGesture.AIS_MouseGesture_Zoom
AIS_MouseGesture_Pan = AIS_MouseGesture.AIS_MouseGesture_Pan
AIS_MouseGesture_RotateOrbit = AIS_MouseGesture.AIS_MouseGesture_RotateOrbit
AIS_MouseGesture_RotateView = AIS_MouseGesture.AIS_MouseGesture_RotateView

class AIS_ClearMode(IntEnum):
	AIS_CM_All: int = ...
	AIS_CM_Interactive: int = ...
	AIS_CM_Filters: int = ...
	AIS_CM_StandardModes: int = ...
	AIS_CM_TemporaryShapePrs: int = ...
AIS_CM_All = AIS_ClearMode.AIS_CM_All
AIS_CM_Interactive = AIS_ClearMode.AIS_CM_Interactive
AIS_CM_Filters = AIS_ClearMode.AIS_CM_Filters
AIS_CM_StandardModes = AIS_ClearMode.AIS_CM_StandardModes
AIS_CM_TemporaryShapePrs = AIS_ClearMode.AIS_CM_TemporaryShapePrs

class AIS_TypeOfAttribute(IntEnum):
	AIS_TOA_Line: int = ...
	AIS_TOA_Dimension: int = ...
	AIS_TOA_Wire: int = ...
	AIS_TOA_Plane: int = ...
	AIS_TOA_Vector: int = ...
	AIS_TOA_UIso: int = ...
	AIS_TOA_VIso: int = ...
	AIS_TOA_Free: int = ...
	AIS_TOA_UnFree: int = ...
	AIS_TOA_Section: int = ...
	AIS_TOA_Hidden: int = ...
	AIS_TOA_Seen: int = ...
	AIS_TOA_FaceBoundary: int = ...
	AIS_TOA_FirstAxis: int = ...
	AIS_TOA_SecondAxis: int = ...
	AIS_TOA_ThirdAxis: int = ...
AIS_TOA_Line = AIS_TypeOfAttribute.AIS_TOA_Line
AIS_TOA_Dimension = AIS_TypeOfAttribute.AIS_TOA_Dimension
AIS_TOA_Wire = AIS_TypeOfAttribute.AIS_TOA_Wire
AIS_TOA_Plane = AIS_TypeOfAttribute.AIS_TOA_Plane
AIS_TOA_Vector = AIS_TypeOfAttribute.AIS_TOA_Vector
AIS_TOA_UIso = AIS_TypeOfAttribute.AIS_TOA_UIso
AIS_TOA_VIso = AIS_TypeOfAttribute.AIS_TOA_VIso
AIS_TOA_Free = AIS_TypeOfAttribute.AIS_TOA_Free
AIS_TOA_UnFree = AIS_TypeOfAttribute.AIS_TOA_UnFree
AIS_TOA_Section = AIS_TypeOfAttribute.AIS_TOA_Section
AIS_TOA_Hidden = AIS_TypeOfAttribute.AIS_TOA_Hidden
AIS_TOA_Seen = AIS_TypeOfAttribute.AIS_TOA_Seen
AIS_TOA_FaceBoundary = AIS_TypeOfAttribute.AIS_TOA_FaceBoundary
AIS_TOA_FirstAxis = AIS_TypeOfAttribute.AIS_TOA_FirstAxis
AIS_TOA_SecondAxis = AIS_TypeOfAttribute.AIS_TOA_SecondAxis
AIS_TOA_ThirdAxis = AIS_TypeOfAttribute.AIS_TOA_ThirdAxis

class AIS_TypeOfAngleArrowVisibility(IntEnum):
	AIS_TOAV_Both: int = ...
	AIS_TOAV_First: int = ...
	AIS_TOAV_Second: int = ...
	AIS_TOAV_None: int = ...
AIS_TOAV_Both = AIS_TypeOfAngleArrowVisibility.AIS_TOAV_Both
AIS_TOAV_First = AIS_TypeOfAngleArrowVisibility.AIS_TOAV_First
AIS_TOAV_Second = AIS_TypeOfAngleArrowVisibility.AIS_TOAV_Second
AIS_TOAV_None = AIS_TypeOfAngleArrowVisibility.AIS_TOAV_None

class AIS_DimensionSelectionMode(IntEnum):
	AIS_DSM_All: int = ...
	AIS_DSM_Line: int = ...
	AIS_DSM_Text: int = ...
AIS_DSM_All = AIS_DimensionSelectionMode.AIS_DSM_All
AIS_DSM_Line = AIS_DimensionSelectionMode.AIS_DSM_Line
AIS_DSM_Text = AIS_DimensionSelectionMode.AIS_DSM_Text

class AIS_KindOfInteractive(IntEnum):
	AIS_KOI_None: int = ...
	AIS_KOI_Datum: int = ...
	AIS_KOI_Shape: int = ...
	AIS_KOI_Object: int = ...
	AIS_KOI_Relation: int = ...
	AIS_KOI_Dimension: int = ...
AIS_KOI_None = AIS_KindOfInteractive.AIS_KOI_None
AIS_KOI_Datum = AIS_KindOfInteractive.AIS_KOI_Datum
AIS_KOI_Shape = AIS_KindOfInteractive.AIS_KOI_Shape
AIS_KOI_Object = AIS_KindOfInteractive.AIS_KOI_Object
AIS_KOI_Relation = AIS_KindOfInteractive.AIS_KOI_Relation
AIS_KOI_Dimension = AIS_KindOfInteractive.AIS_KOI_Dimension

class AIS_KindOfDimension(IntEnum):
	AIS_KOD_NONE: int = ...
	AIS_KOD_LENGTH: int = ...
	AIS_KOD_PLANEANGLE: int = ...
	AIS_KOD_SOLIDANGLE: int = ...
	AIS_KOD_AREA: int = ...
	AIS_KOD_VOLUME: int = ...
	AIS_KOD_MASS: int = ...
	AIS_KOD_TIME: int = ...
	AIS_KOD_RADIUS: int = ...
	AIS_KOD_DIAMETER: int = ...
	AIS_KOD_CHAMF2D: int = ...
	AIS_KOD_CHAMF3D: int = ...
	AIS_KOD_OFFSET: int = ...
	AIS_KOD_ELLIPSERADIUS: int = ...
AIS_KOD_NONE = AIS_KindOfDimension.AIS_KOD_NONE
AIS_KOD_LENGTH = AIS_KindOfDimension.AIS_KOD_LENGTH
AIS_KOD_PLANEANGLE = AIS_KindOfDimension.AIS_KOD_PLANEANGLE
AIS_KOD_SOLIDANGLE = AIS_KindOfDimension.AIS_KOD_SOLIDANGLE
AIS_KOD_AREA = AIS_KindOfDimension.AIS_KOD_AREA
AIS_KOD_VOLUME = AIS_KindOfDimension.AIS_KOD_VOLUME
AIS_KOD_MASS = AIS_KindOfDimension.AIS_KOD_MASS
AIS_KOD_TIME = AIS_KindOfDimension.AIS_KOD_TIME
AIS_KOD_RADIUS = AIS_KindOfDimension.AIS_KOD_RADIUS
AIS_KOD_DIAMETER = AIS_KindOfDimension.AIS_KOD_DIAMETER
AIS_KOD_CHAMF2D = AIS_KindOfDimension.AIS_KOD_CHAMF2D
AIS_KOD_CHAMF3D = AIS_KindOfDimension.AIS_KOD_CHAMF3D
AIS_KOD_OFFSET = AIS_KindOfDimension.AIS_KOD_OFFSET
AIS_KOD_ELLIPSERADIUS = AIS_KindOfDimension.AIS_KOD_ELLIPSERADIUS

class AIS_SelectStatus(IntEnum):
	AIS_SS_Added: int = ...
	AIS_SS_Removed: int = ...
	AIS_SS_NotDone: int = ...
AIS_SS_Added = AIS_SelectStatus.AIS_SS_Added
AIS_SS_Removed = AIS_SelectStatus.AIS_SS_Removed
AIS_SS_NotDone = AIS_SelectStatus.AIS_SS_NotDone

class AIS_TypeOfAxis(IntEnum):
	AIS_TOAX_Unknown: int = ...
	AIS_TOAX_XAxis: int = ...
	AIS_TOAX_YAxis: int = ...
	AIS_TOAX_ZAxis: int = ...
AIS_TOAX_Unknown = AIS_TypeOfAxis.AIS_TOAX_Unknown
AIS_TOAX_XAxis = AIS_TypeOfAxis.AIS_TOAX_XAxis
AIS_TOAX_YAxis = AIS_TypeOfAxis.AIS_TOAX_YAxis
AIS_TOAX_ZAxis = AIS_TypeOfAxis.AIS_TOAX_ZAxis

class AIS_KindOfUnit(IntEnum):
	AIS_TOU_LENGTH: int = ...
	AIS_TOU_SURFACE: int = ...
	AIS_TOU_VOLUME: int = ...
	AIS_TOU_PLANE_ANGLE: int = ...
	AIS_TOU_SOLID_ANGLE: int = ...
	AIS_TOU_MASS: int = ...
	AIS_TOU_FORCE: int = ...
	AIS_TOU_TIME: int = ...
AIS_TOU_LENGTH = AIS_KindOfUnit.AIS_TOU_LENGTH
AIS_TOU_SURFACE = AIS_KindOfUnit.AIS_TOU_SURFACE
AIS_TOU_VOLUME = AIS_KindOfUnit.AIS_TOU_VOLUME
AIS_TOU_PLANE_ANGLE = AIS_KindOfUnit.AIS_TOU_PLANE_ANGLE
AIS_TOU_SOLID_ANGLE = AIS_KindOfUnit.AIS_TOU_SOLID_ANGLE
AIS_TOU_MASS = AIS_KindOfUnit.AIS_TOU_MASS
AIS_TOU_FORCE = AIS_KindOfUnit.AIS_TOU_FORCE
AIS_TOU_TIME = AIS_KindOfUnit.AIS_TOU_TIME

class AIS_TypeOfAngle(IntEnum):
	AIS_TOA_Interior: int = ...
	AIS_TOA_Exterior: int = ...
AIS_TOA_Interior = AIS_TypeOfAngle.AIS_TOA_Interior
AIS_TOA_Exterior = AIS_TypeOfAngle.AIS_TOA_Exterior

class AIS_ConnectStatus(IntEnum):
	AIS_CS_None: int = ...
	AIS_CS_Connection: int = ...
	AIS_CS_Transform: int = ...
	AIS_CS_Both: int = ...
AIS_CS_None = AIS_ConnectStatus.AIS_CS_None
AIS_CS_Connection = AIS_ConnectStatus.AIS_CS_Connection
AIS_CS_Transform = AIS_ConnectStatus.AIS_CS_Transform
AIS_CS_Both = AIS_ConnectStatus.AIS_CS_Both

class AIS_RotationMode(IntEnum):
	AIS_RotationMode_BndBoxActive: int = ...
	AIS_RotationMode_PickLast: int = ...
	AIS_RotationMode_PickCenter: int = ...
	AIS_RotationMode_CameraAt: int = ...
	AIS_RotationMode_BndBoxScene: int = ...
AIS_RotationMode_BndBoxActive = AIS_RotationMode.AIS_RotationMode_BndBoxActive
AIS_RotationMode_PickLast = AIS_RotationMode.AIS_RotationMode_PickLast
AIS_RotationMode_PickCenter = AIS_RotationMode.AIS_RotationMode_PickCenter
AIS_RotationMode_CameraAt = AIS_RotationMode.AIS_RotationMode_CameraAt
AIS_RotationMode_BndBoxScene = AIS_RotationMode.AIS_RotationMode_BndBoxScene

class AIS_ViewSelectionTool(IntEnum):
	AIS_ViewSelectionTool_Picking: int = ...
	AIS_ViewSelectionTool_RubberBand: int = ...
	AIS_ViewSelectionTool_Polygon: int = ...
AIS_ViewSelectionTool_Picking = AIS_ViewSelectionTool.AIS_ViewSelectionTool_Picking
AIS_ViewSelectionTool_RubberBand = AIS_ViewSelectionTool.AIS_ViewSelectionTool_RubberBand
AIS_ViewSelectionTool_Polygon = AIS_ViewSelectionTool.AIS_ViewSelectionTool_Polygon

class AIS_ViewInputBufferType(IntEnum):
	AIS_ViewInputBufferType_UI: int = ...
	AIS_ViewInputBufferType_GL: int = ...
AIS_ViewInputBufferType_UI = AIS_ViewInputBufferType.AIS_ViewInputBufferType_UI
AIS_ViewInputBufferType_GL = AIS_ViewInputBufferType.AIS_ViewInputBufferType_GL

class AIS_NavigationMode(IntEnum):
	AIS_NavigationMode_Orbit: int = ...
	AIS_NavigationMode_FirstPersonFlight: int = ...
	AIS_NavigationMode_FirstPersonWalk: int = ...
AIS_NavigationMode_Orbit = AIS_NavigationMode.AIS_NavigationMode_Orbit
AIS_NavigationMode_FirstPersonFlight = AIS_NavigationMode.AIS_NavigationMode_FirstPersonFlight
AIS_NavigationMode_FirstPersonWalk = AIS_NavigationMode.AIS_NavigationMode_FirstPersonWalk

class AIS_TypeOfIso(IntEnum):
	AIS_TOI_IsoU: int = ...
	AIS_TOI_IsoV: int = ...
	AIS_TOI_Both: int = ...
AIS_TOI_IsoU = AIS_TypeOfIso.AIS_TOI_IsoU
AIS_TOI_IsoV = AIS_TypeOfIso.AIS_TOI_IsoV
AIS_TOI_Both = AIS_TypeOfIso.AIS_TOI_Both

class AIS_KindOfRelation(IntEnum):
	AIS_KOR_NONE: int = ...
	AIS_KOR_CONCENTRIC: int = ...
	AIS_KOR_EQUALDISTANCE: int = ...
	AIS_KOR_EQUALRADIUS: int = ...
	AIS_KOR_FIX: int = ...
	AIS_KOR_IDENTIC: int = ...
	AIS_KOR_OFFSET: int = ...
	AIS_KOR_PARALLEL: int = ...
	AIS_KOR_PERPENDICULAR: int = ...
	AIS_KOR_TANGENT: int = ...
	AIS_KOR_SYMMETRIC: int = ...
AIS_KOR_NONE = AIS_KindOfRelation.AIS_KOR_NONE
AIS_KOR_CONCENTRIC = AIS_KindOfRelation.AIS_KOR_CONCENTRIC
AIS_KOR_EQUALDISTANCE = AIS_KindOfRelation.AIS_KOR_EQUALDISTANCE
AIS_KOR_EQUALRADIUS = AIS_KindOfRelation.AIS_KOR_EQUALRADIUS
AIS_KOR_FIX = AIS_KindOfRelation.AIS_KOR_FIX
AIS_KOR_IDENTIC = AIS_KindOfRelation.AIS_KOR_IDENTIC
AIS_KOR_OFFSET = AIS_KindOfRelation.AIS_KOR_OFFSET
AIS_KOR_PARALLEL = AIS_KindOfRelation.AIS_KOR_PARALLEL
AIS_KOR_PERPENDICULAR = AIS_KindOfRelation.AIS_KOR_PERPENDICULAR
AIS_KOR_TANGENT = AIS_KindOfRelation.AIS_KOR_TANGENT
AIS_KOR_SYMMETRIC = AIS_KindOfRelation.AIS_KOR_SYMMETRIC

class AIS_StatusOfDetection(IntEnum):
	AIS_SOD_Error: int = ...
	AIS_SOD_Nothing: int = ...
	AIS_SOD_AllBad: int = ...
	AIS_SOD_Selected: int = ...
	AIS_SOD_OnlyOneDetected: int = ...
	AIS_SOD_OnlyOneGood: int = ...
	AIS_SOD_SeveralGood: int = ...
AIS_SOD_Error = AIS_StatusOfDetection.AIS_SOD_Error
AIS_SOD_Nothing = AIS_StatusOfDetection.AIS_SOD_Nothing
AIS_SOD_AllBad = AIS_StatusOfDetection.AIS_SOD_AllBad
AIS_SOD_Selected = AIS_StatusOfDetection.AIS_SOD_Selected
AIS_SOD_OnlyOneDetected = AIS_StatusOfDetection.AIS_SOD_OnlyOneDetected
AIS_SOD_OnlyOneGood = AIS_StatusOfDetection.AIS_SOD_OnlyOneGood
AIS_SOD_SeveralGood = AIS_StatusOfDetection.AIS_SOD_SeveralGood

class AIS_WalkTranslation(IntEnum):
	AIS_WalkTranslation_Forward: int = ...
	AIS_WalkTranslation_Side: int = ...
	AIS_WalkTranslation_Up: int = ...
AIS_WalkTranslation_Forward = AIS_WalkTranslation.AIS_WalkTranslation_Forward
AIS_WalkTranslation_Side = AIS_WalkTranslation.AIS_WalkTranslation_Side
AIS_WalkTranslation_Up = AIS_WalkTranslation.AIS_WalkTranslation_Up

class AIS_WalkRotation(IntEnum):
	AIS_WalkRotation_Yaw: int = ...
	AIS_WalkRotation_Pitch: int = ...
	AIS_WalkRotation_Roll: int = ...
AIS_WalkRotation_Yaw = AIS_WalkRotation.AIS_WalkRotation_Yaw
AIS_WalkRotation_Pitch = AIS_WalkRotation.AIS_WalkRotation_Pitch
AIS_WalkRotation_Roll = AIS_WalkRotation.AIS_WalkRotation_Roll

class AIS_ManipulatorMode(IntEnum):
	AIS_MM_None: int = ...
	AIS_MM_Translation: int = ...
	AIS_MM_Rotation: int = ...
	AIS_MM_Scaling: int = ...
	AIS_MM_TranslationPlane: int = ...
AIS_MM_None = AIS_ManipulatorMode.AIS_MM_None
AIS_MM_Translation = AIS_ManipulatorMode.AIS_MM_Translation
AIS_MM_Rotation = AIS_ManipulatorMode.AIS_MM_Rotation
AIS_MM_Scaling = AIS_ManipulatorMode.AIS_MM_Scaling
AIS_MM_TranslationPlane = AIS_ManipulatorMode.AIS_MM_TranslationPlane

class AIS_SelectionModesConcurrency(IntEnum):
	AIS_SelectionModesConcurrency_Single: int = ...
	AIS_SelectionModesConcurrency_GlobalOrLocal: int = ...
	AIS_SelectionModesConcurrency_Multiple: int = ...
AIS_SelectionModesConcurrency_Single = AIS_SelectionModesConcurrency.AIS_SelectionModesConcurrency_Single
AIS_SelectionModesConcurrency_GlobalOrLocal = AIS_SelectionModesConcurrency.AIS_SelectionModesConcurrency_GlobalOrLocal
AIS_SelectionModesConcurrency_Multiple = AIS_SelectionModesConcurrency.AIS_SelectionModesConcurrency_Multiple

class AIS_KindOfSurface(IntEnum):
	AIS_KOS_Plane: int = ...
	AIS_KOS_Cylinder: int = ...
	AIS_KOS_Cone: int = ...
	AIS_KOS_Sphere: int = ...
	AIS_KOS_Torus: int = ...
	AIS_KOS_Revolution: int = ...
	AIS_KOS_Extrusion: int = ...
	AIS_KOS_OtherSurface: int = ...
AIS_KOS_Plane = AIS_KindOfSurface.AIS_KOS_Plane
AIS_KOS_Cylinder = AIS_KindOfSurface.AIS_KOS_Cylinder
AIS_KOS_Cone = AIS_KindOfSurface.AIS_KOS_Cone
AIS_KOS_Sphere = AIS_KindOfSurface.AIS_KOS_Sphere
AIS_KOS_Torus = AIS_KindOfSurface.AIS_KOS_Torus
AIS_KOS_Revolution = AIS_KindOfSurface.AIS_KOS_Revolution
AIS_KOS_Extrusion = AIS_KindOfSurface.AIS_KOS_Extrusion
AIS_KOS_OtherSurface = AIS_KindOfSurface.AIS_KOS_OtherSurface

class AIS_StandardDatum(IntEnum):
	AIS_SD_None: int = ...
	AIS_SD_Point: int = ...
	AIS_SD_Axis: int = ...
	AIS_SD_Trihedron: int = ...
	AIS_SD_PlaneTrihedron: int = ...
	AIS_SD_Line: int = ...
	AIS_SD_Circle: int = ...
	AIS_SD_Plane: int = ...
AIS_SD_None = AIS_StandardDatum.AIS_SD_None
AIS_SD_Point = AIS_StandardDatum.AIS_SD_Point
AIS_SD_Axis = AIS_StandardDatum.AIS_SD_Axis
AIS_SD_Trihedron = AIS_StandardDatum.AIS_SD_Trihedron
AIS_SD_PlaneTrihedron = AIS_StandardDatum.AIS_SD_PlaneTrihedron
AIS_SD_Line = AIS_StandardDatum.AIS_SD_Line
AIS_SD_Circle = AIS_StandardDatum.AIS_SD_Circle
AIS_SD_Plane = AIS_StandardDatum.AIS_SD_Plane

class AIS_DisplayMode(IntEnum):
	AIS_WireFrame: int = ...
	AIS_Shaded: int = ...
AIS_WireFrame = AIS_DisplayMode.AIS_WireFrame
AIS_Shaded = AIS_DisplayMode.AIS_Shaded

class AIS_StatusOfPick(IntEnum):
	AIS_SOP_Error: int = ...
	AIS_SOP_NothingSelected: int = ...
	AIS_SOP_Removed: int = ...
	AIS_SOP_OneSelected: int = ...
	AIS_SOP_SeveralSelected: int = ...
AIS_SOP_Error = AIS_StatusOfPick.AIS_SOP_Error
AIS_SOP_NothingSelected = AIS_StatusOfPick.AIS_SOP_NothingSelected
AIS_SOP_Removed = AIS_StatusOfPick.AIS_SOP_Removed
AIS_SOP_OneSelected = AIS_StatusOfPick.AIS_SOP_OneSelected
AIS_SOP_SeveralSelected = AIS_StatusOfPick.AIS_SOP_SeveralSelected

class AIS_DragAction(IntEnum):
	AIS_DragAction_Start: int = ...
	AIS_DragAction_Update: int = ...
	AIS_DragAction_Stop: int = ...
	AIS_DragAction_Abort: int = ...
AIS_DragAction_Start = AIS_DragAction.AIS_DragAction_Start
AIS_DragAction_Update = AIS_DragAction.AIS_DragAction_Update
AIS_DragAction_Stop = AIS_DragAction.AIS_DragAction_Stop
AIS_DragAction_Abort = AIS_DragAction.AIS_DragAction_Abort

class AIS_DisplaySpecialSymbol(IntEnum):
	AIS_DSS_No: int = ...
	AIS_DSS_Before: int = ...
	AIS_DSS_After: int = ...
AIS_DSS_No = AIS_DisplaySpecialSymbol.AIS_DSS_No
AIS_DSS_Before = AIS_DisplaySpecialSymbol.AIS_DSS_Before
AIS_DSS_After = AIS_DisplaySpecialSymbol.AIS_DSS_After

class AIS_TypeOfDist(IntEnum):
	AIS_TOD_Unknown: int = ...
	AIS_TOD_Horizontal: int = ...
	AIS_TOD_Vertical: int = ...
AIS_TOD_Unknown = AIS_TypeOfDist.AIS_TOD_Unknown
AIS_TOD_Horizontal = AIS_TypeOfDist.AIS_TOD_Horizontal
AIS_TOD_Vertical = AIS_TypeOfDist.AIS_TOD_Vertical

class AIS_TypeOfPlane(IntEnum):
	AIS_TOPL_Unknown: int = ...
	AIS_TOPL_XYPlane: int = ...
	AIS_TOPL_XZPlane: int = ...
	AIS_TOPL_YZPlane: int = ...
AIS_TOPL_Unknown = AIS_TypeOfPlane.AIS_TOPL_Unknown
AIS_TOPL_XYPlane = AIS_TypeOfPlane.AIS_TOPL_XYPlane
AIS_TOPL_XZPlane = AIS_TypeOfPlane.AIS_TOPL_XZPlane
AIS_TOPL_YZPlane = AIS_TypeOfPlane.AIS_TOPL_YZPlane

class AIS_DisplayStatus(IntEnum):
	AIS_DS_Displayed: int = ...
	AIS_DS_Erased: int = ...
	AIS_DS_None: int = ...
AIS_DS_Displayed = AIS_DisplayStatus.AIS_DS_Displayed
AIS_DS_Erased = AIS_DisplayStatus.AIS_DS_Erased
AIS_DS_None = AIS_DisplayStatus.AIS_DS_None

class ais:
	@staticmethod
	def ComputeGeomCurve(aCurve: Geom_Curve, first1: float, last1: float, FirstPnt1: gp_Pnt, LastPnt1: gp_Pnt, aPlane: Geom_Plane) -> Tuple[bool, bool]: ...
	@overload
	@staticmethod
	def ComputeGeometry(theEdge: TopoDS_Edge, theCurve: Geom_Curve, theFirstPnt: gp_Pnt, theLastPnt: gp_Pnt) -> bool: ...
	@overload
	@staticmethod
	def ComputeGeometry(theEdge: TopoDS_Edge, theCurve: Geom_Curve, theFirstPnt: gp_Pnt, theLastPnt: gp_Pnt) -> Tuple[bool, bool]: ...
	@overload
	@staticmethod
	def ComputeGeometry(theEdge: TopoDS_Edge, theCurve: Geom_Curve, theFirstPnt: gp_Pnt, theLastPnt: gp_Pnt, theExtCurve: Geom_Curve, thePlane: Geom_Plane) -> Tuple[bool, bool, bool]: ...
	@overload
	@staticmethod
	def ComputeGeometry(theFirstEdge: TopoDS_Edge, theSecondEdge: TopoDS_Edge, theFirstCurve: Geom_Curve, theSecondCurve: Geom_Curve, theFirstPnt1: gp_Pnt, theLastPnt1: gp_Pnt, theFirstPnt2: gp_Pnt, theLastPnt2: gp_Pnt, thePlane: Geom_Plane) -> bool: ...
	@overload
	@staticmethod
	def ComputeGeometry(theFirstEdge: TopoDS_Edge, theSecondEdge: TopoDS_Edge, theFirstCurve: Geom_Curve, theSecondCurve: Geom_Curve, theFirstPnt1: gp_Pnt, theLastPnt1: gp_Pnt, theFirstPnt2: gp_Pnt, theLastPnt2: gp_Pnt) -> Tuple[bool, bool, bool]: ...
	@overload
	@staticmethod
	def ComputeGeometry(theFirstEdge: TopoDS_Edge, theSecondEdge: TopoDS_Edge, theFirstCurve: Geom_Curve, theSecondCurve: Geom_Curve, theFirstPnt1: gp_Pnt, theLastPnt1: gp_Pnt, theFirstPnt2: gp_Pnt, theLastPnt2: gp_Pnt, theExtCurve: Geom_Curve, thePlane: Geom_Plane) -> Tuple[bool, int, bool, bool]: ...
	@overload
	@staticmethod
	def ComputeGeometry(aVertex: TopoDS_Vertex, point: gp_Pnt, aPlane: Geom_Plane) -> Tuple[bool, bool]: ...
	@staticmethod
	def ComputeProjEdgePresentation(aPres: Prs3d_Presentation, aDrawer: Prs3d_Drawer, anEdge: TopoDS_Edge, ProjCurve: Geom_Curve, FirstP: gp_Pnt, LastP: gp_Pnt, aColor: Optional[Quantity_NameOfColor] = Quantity_NOC_PURPLE, aWidth: Optional[float] = 2, aProjTOL: Optional[Aspect_TypeOfLine] = Aspect_TOL_DASH, aCallTOL: Optional[Aspect_TypeOfLine] = Aspect_TOL_DOT) -> None: ...
	@staticmethod
	def ComputeProjVertexPresentation(aPres: Prs3d_Presentation, aDrawer: Prs3d_Drawer, aVertex: TopoDS_Vertex, ProjPoint: gp_Pnt, aColor: Optional[Quantity_NameOfColor] = Quantity_NOC_PURPLE, aWidth: Optional[float] = 2, aProjTOM: Optional[Aspect_TypeOfMarker] = Aspect_TOM_PLUS, aCallTOL: Optional[Aspect_TypeOfLine] = Aspect_TOL_DOT) -> None: ...
	@staticmethod
	def DistanceFromApex(elips: gp_Elips, Apex: gp_Pnt, par: float) -> float: ...
	@staticmethod
	def Farest(aShape: TopoDS_Shape, aPoint: gp_Pnt) -> gp_Pnt: ...
	@staticmethod
	def GetPlaneFromFace(aFace: TopoDS_Face, aPlane: gp_Pln, aSurf: Geom_Surface, aSurfType: AIS_KindOfSurface) -> Tuple[bool, float]: ...
	@staticmethod
	def InDomain(aFirstPar: float, aLastPar: float, anAttachPar: float) -> bool: ...
	@staticmethod
	def InitAngleBetweenCurvilinearFaces(theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face, theFirstSurfType: AIS_KindOfSurface, theSecondSurfType: AIS_KindOfSurface, theCenter: gp_Pnt, theFirstAttach: gp_Pnt, theSecondAttach: gp_Pnt, theIsFirstPointSet: Optional[bool] = False) -> bool: ...
	@staticmethod
	def InitAngleBetweenPlanarFaces(theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face, theCenter: gp_Pnt, theFirstAttach: gp_Pnt, theSecondAttach: gp_Pnt, theIsFirstPointSet: Optional[bool] = False) -> bool: ...
	@staticmethod
	def InitFaceLength(aFace: TopoDS_Face, aPlane: gp_Pln, aSurface: Geom_Surface, aSurfaceType: AIS_KindOfSurface) -> float: ...
	@staticmethod
	def InitLengthBetweenCurvilinearFaces(theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face, theFirstSurf: Geom_Surface, theSecondSurf: Geom_Surface, theFirstAttach: gp_Pnt, theSecondAttach: gp_Pnt, theDirOnPlane: gp_Dir) -> None: ...
	@overload
	@staticmethod
	def Nearest(aShape: TopoDS_Shape, aPoint: gp_Pnt) -> gp_Pnt: ...
	@overload
	@staticmethod
	def Nearest(theLine: gp_Lin, thePoint: gp_Pnt) -> gp_Pnt: ...
	@overload
	@staticmethod
	def Nearest(theCurve: Geom_Curve, thePoint: gp_Pnt, theFirstPoint: gp_Pnt, theLastPoint: gp_Pnt, theNearestPoint: gp_Pnt) -> bool: ...
	@staticmethod
	def NearestApex(elips: gp_Elips, pApex: gp_Pnt, nApex: gp_Pnt, fpara: float, lpara: float) -> Tuple[gp_Pnt, bool]: ...
	@staticmethod
	def ProjectPointOnLine(aPoint: gp_Pnt, aLine: gp_Lin) -> gp_Pnt: ...
	@staticmethod
	def ProjectPointOnPlane(aPoint: gp_Pnt, aPlane: gp_Pln) -> gp_Pnt: ...
	@staticmethod
	def TranslatePointToBound(aPoint: gp_Pnt, aDir: gp_Dir, aBndBox: Bnd_Box) -> gp_Pnt: ...

class AIS_Animation(Standard_Transient):
	def __init__(self, theAnimationName: TCollection_AsciiString) -> None: ...
	def Add(self, theAnimation: AIS_Animation) -> None: ...
	def Children(self) -> False: ...
	def Clear(self) -> None: ...
	def CopyFrom(self, theOther: AIS_Animation) -> None: ...
	def Duration(self) -> float: ...
	def ElapsedTime(self) -> float: ...
	def Find(self, theAnimationName: TCollection_AsciiString) -> AIS_Animation: ...
	def HasOwnDuration(self) -> bool: ...
	def IsStopped(self) -> False: ...
	def Name(self) -> TCollection_AsciiString: ...
	def OwnDuration(self) -> float: ...
	def Pause(self) -> None: ...
	def Remove(self, theAnimation: AIS_Animation) -> bool: ...
	def Replace(self, theAnimationOld: AIS_Animation, theAnimationNew: AIS_Animation) -> bool: ...
	def SetOwnDuration(self, theDuration: float) -> None: ...
	def SetStartPts(self, thePtsStart: float) -> None: ...
	def Start(self, theToUpdate: bool) -> None: ...
	def StartPts(self) -> float: ...
	def StartTimer(self, theStartPts: float, thePlaySpeed: float, theToUpdate: bool, theToStopTimer: Optional[bool] = False) -> None: ...
	def Stop(self) -> None: ...
	def Update(self, thePts: float) -> bool: ...
	def UpdateTimer(self) -> float: ...
	def UpdateTotalDuration(self) -> None: ...

class AIS_AnimationProgress:
	def __init__(self) -> None: ...

class AIS_AttributeFilter(SelectMgr_Filter):
	@overload
	def __init__(self) -> None: ...
	@overload
	def __init__(self, aCol: Quantity_NameOfColor) -> None: ...
	@overload
	def __init__(self, aWidth: float) -> None: ...
	def HasColor(self) -> bool: ...
	def HasWidth(self) -> bool: ...
	def IsOk(self, anObj: SelectMgr_EntityOwner) -> bool: ...
	def SetColor(self, aCol: Quantity_NameOfColor) -> None: ...
	def SetWidth(self, aWidth: float) -> None: ...
	def UnsetColor(self) -> None: ...
	def UnsetWidth(self) -> None: ...

class AIS_BadEdgeFilter(SelectMgr_Filter):
	def __init__(self) -> None: ...
	def ActsOn(self, aType: TopAbs_ShapeEnum) -> bool: ...
	def AddEdge(self, anEdge: TopoDS_Edge, Index: int) -> None: ...
	def IsOk(self, EO: SelectMgr_EntityOwner) -> bool: ...
	def RemoveEdges(self, Index: int) -> None: ...
	def SetContour(self, Index: int) -> None: ...

class AIS_C0RegularityFilter(SelectMgr_Filter):
	def __init__(self, aShape: TopoDS_Shape) -> None: ...
	def ActsOn(self, aType: TopAbs_ShapeEnum) -> bool: ...
	def IsOk(self, EO: SelectMgr_EntityOwner) -> bool: ...

class AIS_ColoredDrawer(Prs3d_Drawer):
	def __init__(self, theLink: Prs3d_Drawer) -> None: ...
	def HasOwnColor(self) -> False: ...
	def HasOwnTransparency(self) -> False: ...
	def HasOwnWidth(self) -> False: ...
	def IsHidden(self) -> False: ...
	def SetOwnTransparency(self, x: float) -> None: ...
	def UnsetOwnColor(self) -> None: ...
	def UnsetOwnTransparency(self) -> None: ...
	def UnsetOwnWidth(self) -> None: ...

class AIS_DimensionOwner(SelectMgr_EntityOwner):
	def __init__(self, theSelObject: SelectMgr_SelectableObject, theSelMode: AIS_DimensionSelectionMode, thePriority: Optional[int] = 0) -> None: ...
	def HilightWithColor(self, thePM: PrsMgr_PresentationManager3d, theStyle: Prs3d_Drawer, theMode: Optional[int] = 0) -> None: ...
	def IsHilighted(self, thePM: PrsMgr_PresentationManager, theMode: Optional[int] = 0) -> bool: ...
	def SelectionMode(self) -> AIS_DimensionSelectionMode: ...
	def Unhilight(self, thePM: PrsMgr_PresentationManager, theMode: Optional[int] = 0) -> None: ...

class AIS_ExclusionFilter(SelectMgr_Filter):
	@overload
	def __init__(self, ExclusionFlagOn: Optional[bool] = True) -> None: ...
	@overload
	def __init__(self, TypeToExclude: AIS_KindOfInteractive, ExclusionFlagOn: Optional[bool] = True) -> None: ...
	@overload
	def __init__(self, TypeToExclude: AIS_KindOfInteractive, SignatureInType: int, ExclusionFlagOn: Optional[bool] = True) -> None: ...
	@overload
	def Add(self, TypeToExclude: AIS_KindOfInteractive) -> bool: ...
	@overload
	def Add(self, TypeToExclude: AIS_KindOfInteractive, SignatureInType: int) -> bool: ...
	def Clear(self) -> None: ...
	def IsExclusionFlagOn(self) -> bool: ...
	def IsOk(self, anObj: SelectMgr_EntityOwner) -> bool: ...
	def IsStored(self, aType: AIS_KindOfInteractive) -> bool: ...
	def ListOfSignature(self, aType: AIS_KindOfInteractive, TheStoredList: TColStd_ListOfInteger) -> None: ...
	def ListOfStoredTypes(self, TheList: TColStd_ListOfInteger) -> None: ...
	@overload
	def Remove(self, TypeToExclude: AIS_KindOfInteractive) -> bool: ...
	@overload
	def Remove(self, TypeToExclude: AIS_KindOfInteractive, SignatureInType: int) -> bool: ...
	def SetExclusionFlag(self, Status: bool) -> None: ...

class AIS_GlobalStatus(Standard_Transient):
	@overload
	def __init__(self) -> None: ...
	@overload
	def __init__(self, aStat: AIS_DisplayStatus, aDispMode: int, aSelMode: int, ishilighted: Optional[bool] = False, aLayerIndex: Optional[int] = 0) -> None: ...
	def AddSelectionMode(self, theMode: int) -> None: ...
	def ClearSelectionModes(self) -> None: ...
	def DisplayMode(self) -> int: ...
	def GetLayerIndex(self) -> int: ...
	def GraphicStatus(self) -> AIS_DisplayStatus: ...
	def HilightStyle(self) -> Prs3d_Drawer: ...
	def IsHilighted(self) -> bool: ...
	def IsSModeIn(self, aMode: int) -> bool: ...
	def IsSubIntensityOn(self) -> bool: ...
	def RemoveSelectionMode(self, aMode: int) -> None: ...
	def SelectionModes(self) -> TColStd_ListOfInteger: ...
	def SetDisplayMode(self, theMode: int) -> None: ...
	def SetGraphicStatus(self, theStatus: AIS_DisplayStatus) -> None: ...
	def SetHilightStatus(self, theStatus: bool) -> None: ...
	def SetHilightStyle(self, theStyle: Prs3d_Drawer) -> None: ...
	def SetLayerIndex(self, theIndex: int) -> None: ...
	def SubIntensityOff(self) -> None: ...
	def SubIntensityOn(self) -> None: ...

class AIS_GraphicTool:
	@overload
	@staticmethod
	def GetInteriorColor(aDrawer: Prs3d_Drawer) -> Quantity_NameOfColor: ...
	@overload
	@staticmethod
	def GetInteriorColor(aDrawer: Prs3d_Drawer, aColor: Quantity_Color) -> None: ...
	@staticmethod
	def GetLineAtt(aDrawer: Prs3d_Drawer, TheTypeOfAttributes: AIS_TypeOfAttribute, aCol: Quantity_NameOfColor, aTyp: Aspect_TypeOfLine) -> float: ...
	@overload
	@staticmethod
	def GetLineColor(aDrawer: Prs3d_Drawer, TheTypeOfAttributes: AIS_TypeOfAttribute) -> Quantity_NameOfColor: ...
	@overload
	@staticmethod
	def GetLineColor(aDrawer: Prs3d_Drawer, TheTypeOfAttributes: AIS_TypeOfAttribute, TheLineColor: Quantity_Color) -> None: ...
	@staticmethod
	def GetLineType(aDrawer: Prs3d_Drawer, TheTypeOfAttributes: AIS_TypeOfAttribute) -> Aspect_TypeOfLine: ...
	@staticmethod
	def GetLineWidth(aDrawer: Prs3d_Drawer, TheTypeOfAttributes: AIS_TypeOfAttribute) -> float: ...
	@staticmethod
	def GetMaterial(aDrawer: Prs3d_Drawer) -> Graphic3d_MaterialAspect: ...

class AIS_InteractiveContext(Standard_Transient):
	def __init__(self, MainViewer: V3d_Viewer) -> None: ...
	@overload
	def Activate(self, theObj: AIS_InteractiveObject, theMode: Optional[int] = 0, theIsForce: Optional[bool] = False) -> None: ...
	@overload
	def Activate(self, theMode: int, theIsForce: Optional[bool] = False) -> None: ...
	def ActivatedModes(self, anIobj: AIS_InteractiveObject, theList: TColStd_ListOfInteger) -> None: ...
	def AddFilter(self, theFilter: SelectMgr_Filter) -> None: ...
	def AddOrRemoveCurrentObject(self, theObj: AIS_InteractiveObject, theIsToUpdateViewer: bool) -> None: ...
	@overload
	def AddOrRemoveSelected(self, theObject: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	@overload
	def AddOrRemoveSelected(self, theOwner: SelectMgr_EntityOwner, theToUpdateViewer: bool) -> None: ...
	@overload
	def AddSelect(self, theObject: SelectMgr_EntityOwner) -> AIS_StatusOfPick: ...
	@overload
	def AddSelect(self, theObject: AIS_InteractiveObject) -> AIS_StatusOfPick: ...
	def Applicative(self) -> Standard_Transient: ...
	def AutomaticHilight(self) -> bool: ...
	def BeginImmediateDraw(self) -> bool: ...
	def BoundingBoxOfSelection(self) -> Bnd_Box: ...
	def ClearActiveSensitive(self, aView: V3d_View) -> None: ...
	def ClearCurrents(self, theToUpdateViewer: bool) -> None: ...
	def ClearDetected(self, theToRedrawImmediate: Optional[bool] = False) -> bool: ...
	def ClearPrs(self, theIObj: AIS_InteractiveObject, theMode: int, theToUpdateViewer: bool) -> None: ...
	def ClearSelected(self, theToUpdateViewer: bool) -> None: ...
	def Color(self, aniobj: AIS_InteractiveObject, acolor: Quantity_Color) -> None: ...
	def Current(self) -> AIS_InteractiveObject: ...
	def CurrentViewer(self) -> V3d_Viewer: ...
	@overload
	def Deactivate(self, theObj: AIS_InteractiveObject) -> None: ...
	@overload
	def Deactivate(self, theObj: AIS_InteractiveObject, theMode: int) -> None: ...
	@overload
	def Deactivate(self, theMode: int) -> None: ...
	@overload
	def Deactivate(self) -> None: ...
	def DefaultDrawer(self) -> Prs3d_Drawer: ...
	def DetectedCurrentObject(self) -> AIS_InteractiveObject: ...
	def DetectedCurrentOwner(self) -> SelectMgr_EntityOwner: ...
	def DetectedCurrentShape(self) -> TopoDS_Shape: ...
	def DetectedInteractive(self) -> AIS_InteractiveObject: ...
	def DetectedOwner(self) -> SelectMgr_EntityOwner: ...
	def DetectedShape(self) -> TopoDS_Shape: ...
	def DeviationAngle(self) -> float: ...
	def DeviationCoefficient(self) -> float: ...
	def DisableDrawHiddenLine(self) -> None: ...
	def Disconnect(self, theAssembly: AIS_InteractiveObject, theObjToDisconnect: Optional[AIS_InteractiveObject] = None) -> None: ...
	@overload
	def Display(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	@overload
	def Display(self, theIObj: AIS_InteractiveObject, theDispMode: int, theSelectionMode: int, theToUpdateViewer: bool, theDispStatus: Optional[AIS_DisplayStatus] = AIS_DS_None) -> None: ...
	@overload
	def Display(self, theIObj: AIS_InteractiveObject, theDispMode: int, theSelectionMode: int, theToUpdateViewer: bool, theToAllowDecomposition: bool, theDispStatus: Optional[AIS_DisplayStatus] = AIS_DS_None) -> None: ...
	@overload
	def DisplayActiveSensitive(self, aView: V3d_View) -> None: ...
	@overload
	def DisplayActiveSensitive(self, anObject: AIS_InteractiveObject, aView: V3d_View) -> None: ...
	def DisplayAll(self, theToUpdateViewer: bool) -> None: ...
	def DisplayMode(self) -> int: ...
	def DisplayPriority(self, theIObj: AIS_InteractiveObject) -> int: ...
	def DisplaySelected(self, theToUpdateViewer: bool) -> None: ...
	def DisplayStatus(self, anIobj: AIS_InteractiveObject) -> AIS_DisplayStatus: ...
	@overload
	def DisplayedObjects(self, aListOfIO: AIS_ListOfInteractive) -> None: ...
	@overload
	def DisplayedObjects(self, theWhichKind: AIS_KindOfInteractive, theWhichSignature: int, theListOfIO: AIS_ListOfInteractive) -> None: ...
	def DrawHiddenLine(self) -> bool: ...
	def EnableDrawHiddenLine(self) -> None: ...
	@overload
	def EndImmediateDraw(self, theView: V3d_View) -> bool: ...
	@overload
	def EndImmediateDraw(self) -> bool: ...
	def Erase(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def EraseAll(self, theToUpdateViewer: bool) -> None: ...
	def EraseSelected(self, theToUpdateViewer: bool) -> None: ...
	@overload
	def ErasedObjects(self, theListOfIO: AIS_ListOfInteractive) -> None: ...
	@overload
	def ErasedObjects(self, theWhichKind: AIS_KindOfInteractive, theWhichSignature: int, theListOfIO: AIS_ListOfInteractive) -> None: ...
	def Filters(self) -> SelectMgr_ListOfFilter: ...
	def FirstSelectedObject(self) -> AIS_InteractiveObject: ...
	@overload
	def FitSelected(self, theView: V3d_View, theMargin: float, theToUpdate: bool) -> None: ...
	@overload
	def FitSelected(self, theView: V3d_View) -> None: ...
	def GetAutoActivateSelection(self) -> bool: ...
	def GetZLayer(self, theIObj: AIS_InteractiveObject) -> Graphic3d_ZLayerId: ...
	def GravityPoint(self, theView: V3d_View) -> gp_Pnt: ...
	def HLRAngle(self) -> float: ...
	def HLRDeviationCoefficient(self) -> float: ...
	def HasApplicative(self) -> bool: ...
	def HasColor(self, aniobj: AIS_InteractiveObject) -> bool: ...
	def HasDetected(self) -> bool: ...
	def HasDetectedShape(self) -> bool: ...
	def HasLocation(self, theObject: AIS_InteractiveObject) -> bool: ...
	def HasNextDetected(self) -> bool: ...
	def HasPolygonOffsets(self, anObj: AIS_InteractiveObject) -> bool: ...
	def HasSelectedShape(self) -> bool: ...
	def HiddenLineAspect(self) -> Prs3d_LineAspect: ...
	@overload
	def HighlightStyle(self, theStyleType: Prs3d_TypeOfHighlight) -> Prs3d_Drawer: ...
	@overload
	def HighlightStyle(self) -> Prs3d_Drawer: ...
	@overload
	def HighlightStyle(self, theObj: AIS_InteractiveObject, theStyle: Prs3d_Drawer) -> bool: ...
	@overload
	def HighlightStyle(self, theOwner: SelectMgr_EntityOwner, theStyle: Prs3d_Drawer) -> bool: ...
	def Hilight(self, theObj: AIS_InteractiveObject, theIsToUpdateViewer: bool) -> None: ...
	def HilightCurrents(self, theToUpdateViewer: bool) -> None: ...
	def HilightNextDetected(self, theView: V3d_View, theToRedrawImmediate: Optional[bool] = True) -> int: ...
	def HilightPreviousDetected(self, theView: V3d_View, theToRedrawImmediate: Optional[bool] = True) -> int: ...
	def HilightSelected(self, theToUpdateViewer: bool) -> None: ...
	def HilightWithColor(self, theObj: AIS_InteractiveObject, theStyle: Prs3d_Drawer, theToUpdateViewer: bool) -> None: ...
	def ImmediateAdd(self, theObj: AIS_InteractiveObject, theMode: Optional[int] = 0) -> bool: ...
	def InitCurrent(self) -> None: ...
	def InitDetected(self) -> None: ...
	def InitSelected(self) -> None: ...
	def IsCurrent(self, theObject: AIS_InteractiveObject) -> bool: ...
	@overload
	def IsDisplayed(self, anIobj: AIS_InteractiveObject) -> bool: ...
	@overload
	def IsDisplayed(self, aniobj: AIS_InteractiveObject, aMode: int) -> bool: ...
	@overload
	def IsHilighted(self, theObj: AIS_InteractiveObject) -> bool: ...
	@overload
	def IsHilighted(self, theOwner: SelectMgr_EntityOwner) -> bool: ...
	def IsImmediateModeOn(self) -> bool: ...
	@overload
	def IsSelected(self, theOwner: SelectMgr_EntityOwner) -> bool: ...
	@overload
	def IsSelected(self, theObj: AIS_InteractiveObject) -> bool: ...
	def IsoNumber(self, WhichIsos: Optional[AIS_TypeOfIso] = AIS_TOI_Both) -> int: ...
	@overload
	def IsoOnPlane(self, SwitchOn: bool) -> None: ...
	@overload
	def IsoOnPlane(self) -> bool: ...
	@overload
	def IsoOnTriangulation(self, theIsEnabled: bool, theObject: AIS_InteractiveObject) -> None: ...
	@overload
	def IsoOnTriangulation(self, theToSwitchOn: bool) -> None: ...
	@overload
	def IsoOnTriangulation(self) -> bool: ...
	def LastActiveView(self) -> V3d_View: ...
	@overload
	def Load(self, theObj: AIS_InteractiveObject, theSelectionMode: Optional[int] = -1) -> None: ...
	@overload
	def Load(self, theObj: AIS_InteractiveObject, theSelectionMode: int, x: bool) -> None: ...
	def Location(self, theObject: AIS_InteractiveObject) -> TopLoc_Location: ...
	def MainPrsMgr(self) -> PrsMgr_PresentationManager3d: ...
	def MainSelector(self) -> StdSelect_ViewerSelector3d: ...
	def MoreCurrent(self) -> bool: ...
	def MoreDetected(self) -> bool: ...
	def MoreSelected(self) -> bool: ...
	def MoveTo(self, theXPix: int, theYPix: int, theView: V3d_View, theToRedrawOnUpdate: bool) -> AIS_StatusOfDetection: ...
	def NbCurrents(self) -> int: ...
	def NbSelected(self) -> int: ...
	def NextCurrent(self) -> None: ...
	def NextDetected(self) -> None: ...
	def NextSelected(self) -> None: ...
	@overload
	def ObjectsByDisplayStatus(self, theStatus: AIS_DisplayStatus, theListOfIO: AIS_ListOfInteractive) -> None: ...
	@overload
	def ObjectsByDisplayStatus(self, WhichKind: AIS_KindOfInteractive, WhichSignature: int, theStatus: AIS_DisplayStatus, theListOfIO: AIS_ListOfInteractive) -> None: ...
	def ObjectsForView(self, theListOfIO: AIS_ListOfInteractive, theView: V3d_View, theIsVisibleInView: bool, theStatus: Optional[AIS_DisplayStatus] = AIS_DS_None) -> None: ...
	def ObjectsInside(self, aListOfIO: AIS_ListOfInteractive, WhichKind: Optional[AIS_KindOfInteractive] = AIS_KOI_None, WhichSignature: Optional[int] = -1) -> None: ...
	def PickingStrategy(self) -> SelectMgr_PickingStrategy: ...
	def PixelTolerance(self) -> int: ...
	def PlaneSize(self) -> Tuple[bool, float, float]: ...
	def PolygonOffsets(self, anObj: AIS_InteractiveObject, aFactor: float, aUnits: float) -> int: ...
	def PurgeDisplay(self) -> int: ...
	def RebuildSelectionStructs(self) -> None: ...
	def RecomputePrsOnly(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool, theAllModes: Optional[bool] = False) -> None: ...
	def RecomputeSelectionOnly(self, anIObj: AIS_InteractiveObject) -> None: ...
	@overload
	def Redisplay(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool, theAllModes: Optional[bool] = False) -> None: ...
	@overload
	def Redisplay(self, theTypeOfObject: AIS_KindOfInteractive, theSignature: int, theToUpdateViewer: bool) -> None: ...
	def RedrawImmediate(self, theViewer: V3d_Viewer) -> None: ...
	def Remove(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def RemoveAll(self, theToUpdateViewer: bool) -> None: ...
	def RemoveFilter(self, theFilter: SelectMgr_Filter) -> None: ...
	def RemoveFilters(self) -> None: ...
	def ResetLocation(self, theObject: AIS_InteractiveObject) -> None: ...
	@overload
	def Select(self, theXPMin: int, theYPMin: int, theXPMax: int, theYPMax: int, theView: V3d_View, theToUpdateViewer: bool) -> AIS_StatusOfPick: ...
	@overload
	def Select(self, thePolyline: TColgp_Array1OfPnt2d, theView: V3d_View, theToUpdateViewer: bool) -> AIS_StatusOfPick: ...
	@overload
	def Select(self, theToUpdateViewer: bool) -> AIS_StatusOfPick: ...
	def SelectedInteractive(self) -> AIS_InteractiveObject: ...
	def SelectedOwner(self) -> SelectMgr_EntityOwner: ...
	def SelectedShape(self) -> TopoDS_Shape: ...
	def Selection(self) -> AIS_Selection: ...
	def SelectionManager(self) -> SelectMgr_SelectionManager: ...
	def SelectionStyle(self) -> Prs3d_Drawer: ...
	def SetAngleAndDeviation(self, theIObj: AIS_InteractiveObject, theAngle: float, theToUpdateViewer: bool) -> None: ...
	def SetAutoActivateSelection(self, theIsAuto: bool) -> None: ...
	def SetAutomaticHilight(self, theStatus: bool) -> None: ...
	def SetColor(self, theIObj: AIS_InteractiveObject, theColor: Quantity_Color, theToUpdateViewer: bool) -> None: ...
	def SetCurrentFacingModel(self, aniobj: AIS_InteractiveObject, aModel: Optional[Aspect_TypeOfFacingModel] = Aspect_TOFM_BOTH_SIDE) -> None: ...
	def SetCurrentObject(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetDeviationAngle(self, theIObj: AIS_InteractiveObject, theAngle: float, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetDeviationAngle(self, anAngle: float) -> None: ...
	@overload
	def SetDeviationCoefficient(self, theIObj: AIS_InteractiveObject, theCoefficient: float, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetDeviationCoefficient(self, theCoefficient: float) -> None: ...
	@overload
	def SetDisplayMode(self, theMode: int, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetDisplayMode(self, theIObj: AIS_InteractiveObject, theMode: int, theToUpdateViewer: bool) -> None: ...
	def SetDisplayPriority(self, theIObj: AIS_InteractiveObject, thePriority: int) -> None: ...
	def SetHLRAngle(self, theAngle: float) -> None: ...
	@overload
	def SetHLRAngleAndDeviation(self, theIObj: AIS_InteractiveObject, theAngle: float, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetHLRAngleAndDeviation(self, theAngle: float) -> None: ...
	def SetHLRDeviationAngle(self, theIObj: AIS_InteractiveObject, theAngle: float, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetHLRDeviationCoefficient(self, theIObj: AIS_InteractiveObject, theCoefficient: float, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetHLRDeviationCoefficient(self, aCoefficient: float) -> None: ...
	def SetHiddenLineAspect(self, anAspect: Prs3d_LineAspect) -> None: ...
	@overload
	def SetHighlightStyle(self, theStyleType: Prs3d_TypeOfHighlight, theStyle: Prs3d_Drawer) -> None: ...
	@overload
	def SetHighlightStyle(self, theStyle: Prs3d_Drawer) -> None: ...
	def SetIsoNumber(self, NbIsos: int, WhichIsos: Optional[AIS_TypeOfIso] = AIS_TOI_Both) -> None: ...
	def SetLocalAttributes(self, theIObj: AIS_InteractiveObject, theDrawer: Prs3d_Drawer, theToUpdateViewer: bool) -> None: ...
	def SetLocation(self, theObject: AIS_InteractiveObject, theLocation: TopLoc_Location) -> None: ...
	def SetMaterial(self, theIObj: AIS_InteractiveObject, theMaterial: Graphic3d_MaterialAspect, theToUpdateViewer: bool) -> None: ...
	def SetPickingStrategy(self, theStrategy: SelectMgr_PickingStrategy) -> None: ...
	def SetPixelTolerance(self, thePrecision: Optional[int] = 2) -> None: ...
	@overload
	def SetPlaneSize(self, theSizeX: float, theSizeY: float, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetPlaneSize(self, theSize: float, theToUpdateViewer: bool) -> None: ...
	def SetPolygonOffsets(self, theIObj: AIS_InteractiveObject, theMode: int, theFactor: float, theUnits: float, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetSelected(self, theOwners: SelectMgr_EntityOwner, theToUpdateViewer: bool) -> None: ...
	@overload
	def SetSelected(self, theObject: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def SetSelectedAspect(self, theAspect: Prs3d_BasicAspect, theToUpdateViewer: bool) -> None: ...
	def SetSelectedState(self, theOwner: SelectMgr_EntityOwner, theIsSelected: bool) -> bool: ...
	def SetSelection(self, theSelection: AIS_Selection) -> None: ...
	def SetSelectionModeActive(self, theObj: AIS_InteractiveObject, theMode: int, theToActivate: bool, theConcurrency: Optional[AIS_SelectionModesConcurrency] = AIS_SelectionModesConcurrency_Multiple, theIsForce: Optional[bool] = False) -> None: ...
	def SetSelectionSensitivity(self, theObject: AIS_InteractiveObject, theMode: int, theNewSensitivity: int) -> None: ...
	def SetSelectionStyle(self, theStyle: Prs3d_Drawer) -> None: ...
	def SetSubIntensityColor(self, theColor: Quantity_Color) -> None: ...
	def SetToHilightSelected(self, toHilight: bool) -> None: ...
	@overload
	def SetTransformPersistence(self, theObject: AIS_InteractiveObject, theTrsfPers: Graphic3d_TransformPers) -> None: ...
	@overload
	def SetTransformPersistence(self, theObj: AIS_InteractiveObject, theFlag: Graphic3d_TransModeFlags, thePoint: Optional[gp_Pnt] = gp_Pnt(0.0,0.0,0.0)) -> None: ...
	def SetTransparency(self, theIObj: AIS_InteractiveObject, theValue: float, theToUpdateViewer: bool) -> None: ...
	def SetTrihedronSize(self, theSize: float, theToUpdateViewer: bool) -> None: ...
	def SetViewAffinity(self, theIObj: AIS_InteractiveObject, theView: V3d_View, theIsVisible: bool) -> None: ...
	def SetWidth(self, theIObj: AIS_InteractiveObject, theValue: float, theToUpdateViewer: bool) -> None: ...
	@overload
	def ShiftSelect(self, theToUpdateViewer: bool) -> AIS_StatusOfPick: ...
	@overload
	def ShiftSelect(self, thePolyline: TColgp_Array1OfPnt2d, theView: V3d_View, theToUpdateViewer: bool) -> AIS_StatusOfPick: ...
	@overload
	def ShiftSelect(self, theXPMin: int, theYPMin: int, theXPMax: int, theYPMax: int, theView: V3d_View, theToUpdateViewer: bool) -> AIS_StatusOfPick: ...
	def SubIntensityColor(self) -> Quantity_Color: ...
	def SubIntensityOff(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def SubIntensityOn(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def ToHilightSelected(self) -> bool: ...
	def TrihedronSize(self) -> float: ...
	def Unhilight(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def UnhilightCurrents(self, theToUpdateViewer: bool) -> None: ...
	def UnhilightSelected(self, theToUpdateViewer: bool) -> None: ...
	def UnsetColor(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def UnsetDisplayMode(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def UnsetLocalAttributes(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def UnsetMaterial(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def UnsetTransparency(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def UnsetWidth(self, theIObj: AIS_InteractiveObject, theToUpdateViewer: bool) -> None: ...
	def Update(self, theIObj: AIS_InteractiveObject, theUpdateViewer: bool) -> None: ...
	def UpdateCurrent(self) -> None: ...
	def UpdateCurrentViewer(self) -> None: ...
	def UpdateSelected(self, theToUpdateViewer: bool) -> None: ...
	def Width(self, aniobj: AIS_InteractiveObject) -> float: ...

class AIS_InteractiveObject(SelectMgr_SelectableObject):
	def ClearOwner(self) -> None: ...
	def GetContext(self) -> AIS_InteractiveContext: ...
	def GetOwner(self) -> Standard_Transient: ...
	def HasInteractiveContext(self) -> bool: ...
	def HasOwner(self) -> bool: ...
	def HasPresentation(self) -> bool: ...
	def InteractiveContext(self) -> AIS_InteractiveContext: ...
	def Presentation(self) -> Prs3d_Presentation: ...
	def Redisplay(self, AllModes: Optional[bool] = False) -> None: ...
	def SetAspect(self, anAspect: Prs3d_BasicAspect) -> None: ...
	def SetContext(self, aCtx: AIS_InteractiveContext) -> None: ...
	def SetOwner(self, theApplicativeEntity: Standard_Transient) -> None: ...
	def Signature(self) -> int: ...
	def Type(self) -> AIS_KindOfInteractive: ...

class AIS_ManipulatorOwner(SelectMgr_EntityOwner):
	def __init__(self, theSelObject: SelectMgr_SelectableObject, theIndex: int, theMode: AIS_ManipulatorMode, thePriority: Optional[int] = 0) -> None: ...
	def HilightWithColor(self, thePM: PrsMgr_PresentationManager3d, theStyle: Prs3d_Drawer, theMode: int) -> None: ...
	def Index(self) -> int: ...
	def IsHilighted(self, thePM: PrsMgr_PresentationManager, theMode: int) -> bool: ...
	def Mode(self) -> AIS_ManipulatorMode: ...
	def Unhilight(self, thePM: PrsMgr_PresentationManager, theMode: int) -> None: ...

class AIS_PointCloudOwner(SelectMgr_EntityOwner):
	def __init__(self, theOrigin: AIS_PointCloud) -> None: ...
	def Clear(self, thePrsMgr: PrsMgr_PresentationManager, theMode: int) -> None: ...
	def DetectedPoints(self) -> TColStd_HPackedMapOfInteger: ...
	def HilightWithColor(self, thePrsMgr: PrsMgr_PresentationManager3d, theStyle: Prs3d_Drawer, theMode: int) -> None: ...
	def IsForcedHilight(self) -> bool: ...
	def SelectedPoints(self) -> TColStd_HPackedMapOfInteger: ...
	def Unhilight(self, thePrsMgr: PrsMgr_PresentationManager, theMode: int) -> None: ...

class AIS_Selection(Standard_Transient):
	def __init__(self) -> None: ...
	def AddSelect(self, theObject: SelectMgr_EntityOwner) -> AIS_SelectStatus: ...
	def Clear(self) -> None: ...
	def ClearAndSelect(self, theObject: SelectMgr_EntityOwner) -> None: ...
	def Extent(self) -> int: ...
	def Init(self) -> None: ...
	def IsEmpty(self) -> bool: ...
	def IsSelected(self, theObject: SelectMgr_EntityOwner) -> bool: ...
	def More(self) -> bool: ...
	def Next(self) -> None: ...
	def Objects(self) -> AIS_NListOfEntityOwner: ...
	def Select(self, theObject: SelectMgr_EntityOwner) -> AIS_SelectStatus: ...
	def Value(self) -> SelectMgr_EntityOwner: ...

class AIS_TrihedronOwner(SelectMgr_EntityOwner):
	def __init__(self, theSelObject: SelectMgr_SelectableObject, theDatumPart: Prs3d_DatumParts, thePriority: int) -> None: ...
	def DatumPart(self) -> Prs3d_DatumParts: ...
	def HilightWithColor(self, thePM: PrsMgr_PresentationManager3d, theStyle: Prs3d_Drawer, theMode: int) -> None: ...
	def IsHilighted(self, thePM: PrsMgr_PresentationManager, theMode: int) -> bool: ...
	def Unhilight(self, thePM: PrsMgr_PresentationManager, theMode: int) -> None: ...

class AIS_TypeFilter(SelectMgr_Filter):
	def __init__(self, aGivenKind: AIS_KindOfInteractive) -> None: ...
	def IsOk(self, anobj: SelectMgr_EntityOwner) -> bool: ...

class AIS_ViewController:
	def __init__(self) -> None: ...
	def AbortViewAnimation(self) -> None: ...
	def AddTouchPoint(self, theId: int, thePnt: Graphic3d_Vec2d, theClearBefore: Optional[bool] = false) -> None: ...
	def ChangeInputBuffer(self, theType: AIS_ViewInputBufferType) -> AIS_ViewInputBuffer: ...
	def ChangeKeys(self) -> Aspect_VKeySet: ...
	def ChangeMouseGestureMap(self) -> AIS_MouseGestureMap: ...
	def EventTime(self) -> False: ...
	def FetchNavigationKeys(self, theCrouchRatio: float, theRunRatio: float) -> AIS_WalkDelta: ...
	def FlushViewEvents(self, theCtx: AIS_InteractiveContext, theView: V3d_View, theToHandle: Optional[bool] = False) -> None: ...
	def GravityPoint(self, theCtx: AIS_InteractiveContext, theView: V3d_View) -> gp_Pnt: ...
	def HandleViewEvents(self, theCtx: AIS_InteractiveContext, theView: V3d_View) -> None: ...
	def HasPreviousMoveTo(self) -> False: ...
	def HasTouchPoints(self) -> False: ...
	def InputBuffer(self, theType: AIS_ViewInputBufferType) -> AIS_ViewInputBuffer: ...
	def Keys(self) -> Aspect_VKeySet: ...
	def LastMouseFlags(self) -> Aspect_VKeyFlags: ...
	def LastMousePosition(self) -> Graphic3d_Vec2i: ...
	def MinZoomDistance(self) -> False: ...
	def MouseAcceleration(self) -> False: ...
	def MouseDoubleClickInterval(self) -> False: ...
	def MouseGestureMap(self) -> AIS_MouseGestureMap: ...
	def NavigationMode(self) -> AIS_NavigationMode: ...
	def OnObjectDragged(self, theCtx: AIS_InteractiveContext, theView: V3d_View, theAction: AIS_DragAction) -> None: ...
	def OnSelectionChanged(self, theCtx: AIS_InteractiveContext, theView: V3d_View) -> None: ...
	def OrbitAcceleration(self) -> False: ...
	def PressedMouseButtons(self) -> Aspect_VKeyMouse: ...
	def PreviousMoveTo(self) -> Graphic3d_Vec2i: ...
	def RemoveTouchPoint(self, theId: int, theClearSelectPnts: Optional[bool] = false) -> False: ...
	def ResetPreviousMoveTo(self) -> None: ...
	def ResetViewInput(self) -> None: ...
	def RotationMode(self) -> AIS_RotationMode: ...
	def SetNavigationMode(self, theMode: AIS_NavigationMode) -> None: ...
	def SetRotationMode(self, theMode: AIS_RotationMode) -> None: ...
	def SetViewAnimation(self, theAnimation: AIS_AnimationCamera) -> None: ...
	def ThrustSpeed(self) -> False: ...
	def ToAllowDragging(self) -> False: ...
	def ToAllowHighlight(self) -> False: ...
	def ToAllowPanning(self) -> False: ...
	def ToAllowRotation(self) -> False: ...
	def ToAllowTouchZRotation(self) -> False: ...
	def ToAllowZFocus(self) -> False: ...
	def ToAllowZooming(self) -> False: ...
	def ToInvertPitch(self) -> False: ...
	def ToLockOrbitZUp(self) -> False: ...
	def ToShowPanAnchorPoint(self) -> False: ...
	def ToShowRotateCenter(self) -> False: ...
	def ToStickToRayOnRotation(self) -> False: ...
	def ToStickToRayOnZoom(self) -> False: ...
	def TouchToleranceScale(self) -> False: ...
	def UpdateMouseScroll(self, theDelta: Aspect_ScrollDelta) -> False: ...
	def UpdateTouchPoint(self, theId: int, thePnt: Graphic3d_Vec2d) -> None: ...
	def UpdateZoom(self, theDelta: Aspect_ScrollDelta) -> False: ...
	def ViewAnimation(self) -> AIS_AnimationCamera: ...
	def WalkSpeedAbsolute(self) -> False: ...
	def WalkSpeedRelative(self) -> False: ...
	def handleCameraActions(self, theCtx: AIS_InteractiveContext, theView: V3d_View, theWalk: AIS_WalkDelta) -> None: ...
	def handleMoveTo(self, theCtx: AIS_InteractiveContext, theView: V3d_View) -> None: ...
	def handlePanning(self, theView: V3d_View) -> None: ...
	def handleViewRedraw(self, theCtx: AIS_InteractiveContext, theView: V3d_View) -> None: ...
	def handleZFocusScroll(self, theView: V3d_View, theParams: Aspect_ScrollDelta) -> None: ...
	def handleZRotate(self, theView: V3d_View) -> None: ...
	def handleZoom(self, theView: V3d_View, theParams: Aspect_ScrollDelta, thePnt: gp_Pnt) -> None: ...
	def hasPanningAnchorPoint(self) -> False: ...
	def panningAnchorPoint(self) -> gp_Pnt: ...
	def setPanningAnchorPoint(self, thePnt: gp_Pnt) -> None: ...
	def toAskNextFrame(self) -> False: ...

class AIS_ViewCubeOwner(SelectMgr_EntityOwner):
	def __init__(self, theObject: AIS_ViewCube, theOrient: V3d_TypeOfOrientation, thePriority: Optional[int] = 5) -> None: ...
	def IsForcedHilight(self) -> bool: ...
	def MainOrientation(self) -> V3d_TypeOfOrientation: ...

class AIS_ViewInputBuffer:
	def __init__(self) -> None: ...
	def Reset(self) -> None: ...

class AIS_WalkDelta:
	def __init__(self) -> None: ...
	def IsCrouching(self) -> False: ...
	def IsEmpty(self) -> False: ...
	def IsJumping(self) -> False: ...
	def IsRunning(self) -> False: ...
	def ToMove(self) -> False: ...
	def ToRotate(self) -> False: ...

class AIS_WalkPart:
	def __init__(self) -> None: ...
	def IsEmpty(self) -> False: ...

class AIS_AnimationCamera(AIS_Animation):
	def __init__(self, theAnimationName: TCollection_AsciiString, theView: V3d_View) -> None: ...
	def CameraEnd(self) -> Graphic3d_Camera: ...
	def CameraStart(self) -> Graphic3d_Camera: ...
	def SetCameraEnd(self, theCameraEnd: Graphic3d_Camera) -> None: ...
	def SetCameraStart(self, theCameraStart: Graphic3d_Camera) -> None: ...
	def SetView(self, theView: V3d_View) -> None: ...
	def View(self) -> V3d_View: ...

class AIS_AnimationObject(AIS_Animation):
	def __init__(self, theAnimationName: TCollection_AsciiString, theContext: AIS_InteractiveContext, theObject: AIS_InteractiveObject, theTrsfStart: gp_Trsf, theTrsfEnd: gp_Trsf) -> None: ...

class AIS_CameraFrustum(AIS_InteractiveObject):
	def __init__(self) -> None: ...
	def AcceptDisplayMode(self, theMode: int) -> bool: ...
	def SetCameraFrustum(self, theCamera: Graphic3d_Camera) -> None: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def UnsetColor(self) -> None: ...
	def UnsetTransparency(self) -> None: ...

class AIS_Circle(AIS_InteractiveObject):
	@overload
	def __init__(self, aCircle: Geom_Circle) -> None: ...
	@overload
	def __init__(self, theCircle: Geom_Circle, theUStart: float, theUEnd: float, theIsFilledCircleSens: Optional[bool] = False) -> None: ...
	def Circle(self) -> Geom_Circle: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def IsFilledCircleSens(self) -> bool: ...
	def Parameters(self) -> Tuple[float, float]: ...
	def SetCircle(self, theCircle: Geom_Circle) -> None: ...
	def SetColor(self, aColor: Quantity_Color) -> None: ...
	def SetFilledCircleSens(self, theIsFilledCircleSens: bool) -> None: ...
	def SetFirstParam(self, theU: float) -> None: ...
	def SetLastParam(self, theU: float) -> None: ...
	def SetWidth(self, aValue: float) -> None: ...
	def Signature(self) -> int: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def UnsetColor(self) -> None: ...
	def UnsetWidth(self) -> None: ...

class AIS_ColorScale(AIS_InteractiveObject):
	def __init__(self) -> None: ...
	def AcceptDisplayMode(self, theMode: int) -> bool: ...
	def ColorRange(self, theMinColor: Quantity_Color, theMaxColor: Quantity_Color) -> None: ...
	def Compute(self, thePresentationManager: PrsMgr_PresentationManager3d, thePresentation: Prs3d_Presentation, theMode: int) -> None: ...
	@overload
	@staticmethod
	def FindColor(theValue: float, theMin: float, theMax: float, theColorsCount: int, theColorHlsMin: Graphic3d_Vec3d, theColorHlsMax: Graphic3d_Vec3d, theColor: Quantity_Color) -> bool: ...
	@overload
	@staticmethod
	def FindColor(theValue: float, theMin: float, theMax: float, theColorsCount: int, theColor: Quantity_Color) -> bool: ...
	@overload
	def FindColor(self, theValue: float, theColor: Quantity_Color) -> bool: ...
	def Format(self) -> TCollection_AsciiString: ...
	def GetBreadth(self) -> int: ...
	def GetColorType(self) -> Aspect_TypeOfColorScaleData: ...
	@overload
	def GetColors(self, theColors: Aspect_SequenceOfColor) -> None: ...
	@overload
	def GetColors(self) -> Aspect_SequenceOfColor: ...
	def GetFormat(self) -> TCollection_AsciiString: ...
	def GetHeight(self) -> int: ...
	def GetIntervalColor(self, theIndex: int) -> Quantity_Color: ...
	def GetLabel(self, theIndex: int) -> TCollection_ExtendedString: ...
	def GetLabelPosition(self) -> Aspect_TypeOfColorScalePosition: ...
	def GetLabelType(self) -> Aspect_TypeOfColorScaleData: ...
	def GetLabels(self, theLabels: TColStd_SequenceOfExtendedString) -> None: ...
	def GetMax(self) -> float: ...
	def GetMin(self) -> float: ...
	def GetNumberOfIntervals(self) -> int: ...
	def GetPosition(self) -> Tuple[float, float]: ...
	def GetRange(self) -> Tuple[float, float]: ...
	def GetSize(self) -> Tuple[int, int]: ...
	def GetTextHeight(self) -> int: ...
	def GetTitle(self) -> TCollection_ExtendedString: ...
	def GetTitlePosition(self) -> Aspect_TypeOfColorScalePosition: ...
	def GetXPosition(self) -> int: ...
	def GetYPosition(self) -> int: ...
	def HueMax(self) -> float: ...
	def HueMin(self) -> float: ...
	def HueRange(self) -> Tuple[float, float]: ...
	def IsLabelAtBorder(self) -> bool: ...
	def IsLogarithmic(self) -> bool: ...
	def IsReversed(self) -> bool: ...
	def IsSmoothTransition(self) -> bool: ...
	def Labels(self) -> TColStd_SequenceOfExtendedString: ...
	def SetBreadth(self, theBreadth: int) -> None: ...
	def SetColorRange(self, theMinColor: Quantity_Color, theMaxColor: Quantity_Color) -> None: ...
	def SetColorType(self, theType: Aspect_TypeOfColorScaleData) -> None: ...
	def SetColors(self, theSeq: Aspect_SequenceOfColor) -> None: ...
	def SetFormat(self, theFormat: TCollection_AsciiString) -> None: ...
	def SetHeight(self, theHeight: int) -> None: ...
	def SetHueRange(self, theMinAngle: float, theMaxAngle: float) -> None: ...
	def SetIntervalColor(self, theColor: Quantity_Color, theIndex: int) -> None: ...
	def SetLabel(self, theLabel: TCollection_ExtendedString, theIndex: int) -> None: ...
	def SetLabelAtBorder(self, theOn: bool) -> None: ...
	def SetLabelPosition(self, thePos: Aspect_TypeOfColorScalePosition) -> None: ...
	def SetLabelType(self, theType: Aspect_TypeOfColorScaleData) -> None: ...
	def SetLabels(self, theSeq: TColStd_SequenceOfExtendedString) -> None: ...
	def SetLogarithmic(self, isLogarithmic: bool) -> None: ...
	def SetMax(self, theMax: float) -> None: ...
	def SetMin(self, theMin: float) -> None: ...
	def SetNumberOfIntervals(self, theNum: int) -> None: ...
	def SetPosition(self, theX: int, theY: int) -> None: ...
	def SetRange(self, theMin: float, theMax: float) -> None: ...
	def SetReversed(self, theReverse: bool) -> None: ...
	def SetSize(self, theBreadth: int, theHeight: int) -> None: ...
	def SetSmoothTransition(self, theIsSmooth: bool) -> None: ...
	def SetTextHeight(self, theHeight: int) -> None: ...
	def SetTitle(self, theTitle: TCollection_ExtendedString) -> None: ...
	def SetTitlePosition(self, thePos: Aspect_TypeOfColorScalePosition) -> None: ...
	def SetXPosition(self, theX: int) -> None: ...
	def SetYPosition(self, theY: int) -> None: ...
	def TextHeight(self, theText: TCollection_ExtendedString) -> int: ...
	def TextSize(self, theText: TCollection_ExtendedString, theHeight: int) -> Tuple[int, int, int]: ...
	def TextWidth(self, theText: TCollection_ExtendedString) -> int: ...
	@staticmethod
	def hueToValidRange(theHue: float) -> float: ...

class AIS_ConnectedInteractive(AIS_InteractiveObject):
	def __init__(self, aTypeOfPresentation3d: Optional[PrsMgr_TypeOfPresentation3d] = PrsMgr_TOP_AllView) -> None: ...
	def AcceptDisplayMode(self, theMode: int) -> bool: ...
	def AcceptShapeDecomposition(self) -> bool: ...
	@overload
	def Connect(self, theAnotherObj: AIS_InteractiveObject) -> None: ...
	@overload
	def Connect(self, theAnotherObj: AIS_InteractiveObject, theLocation: gp_Trsf) -> None: ...
	@overload
	def Connect(self, theAnotherObj: AIS_InteractiveObject, theLocation: Geom_Transformation) -> None: ...
	def ConnectedTo(self) -> AIS_InteractiveObject: ...
	def Disconnect(self) -> None: ...
	def HasConnection(self) -> bool: ...
	def Signature(self) -> int: ...
	def Type(self) -> AIS_KindOfInteractive: ...

class AIS_Dimension(AIS_InteractiveObject):
	def AcceptDisplayMode(self, theMode: int) -> bool: ...
	def DimensionAspect(self) -> Prs3d_DimensionAspect: ...
	def DisplaySpecialSymbol(self) -> AIS_DisplaySpecialSymbol: ...
	def GetCustomValue(self) -> TCollection_ExtendedString: ...
	def GetDisplayUnits(self) -> TCollection_AsciiString: ...
	def GetFlyout(self) -> float: ...
	def GetGeometryType(self) -> int: ...
	def GetModelUnits(self) -> TCollection_AsciiString: ...
	def GetPlane(self) -> gp_Pln: ...
	def GetTextPosition(self) -> gp_Pnt: ...
	def GetValue(self) -> float: ...
	def IsTextPositionCustom(self) -> bool: ...
	def IsValid(self) -> bool: ...
	def KindOfDimension(self) -> AIS_KindOfDimension: ...
	def SelToleranceForText2d(self) -> float: ...
	def SetComputedValue(self) -> None: ...
	def SetCustomPlane(self, thePlane: gp_Pln) -> None: ...
	@overload
	def SetCustomValue(self, theValue: float) -> None: ...
	@overload
	def SetCustomValue(self, theValue: TCollection_ExtendedString) -> None: ...
	def SetDimensionAspect(self, theDimensionAspect: Prs3d_DimensionAspect) -> None: ...
	def SetDisplaySpecialSymbol(self, theDisplaySpecSymbol: AIS_DisplaySpecialSymbol) -> None: ...
	def SetFlyout(self, theFlyout: float) -> None: ...
	def SetSelToleranceForText2d(self, theTol: float) -> None: ...
	def SetSpecialSymbol(self, theSpecialSymbol: Standard_ExtCharacter) -> None: ...
	def SpecialSymbol(self) -> Standard_ExtCharacter: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def UnsetCustomPlane(self) -> None: ...
	def UnsetFixedTextPosition(self) -> None: ...

class AIS_Line(AIS_InteractiveObject):
	@overload
	def __init__(self, aLine: Geom_Line) -> None: ...
	@overload
	def __init__(self, aStartPoint: Geom_Point, aEndPoint: Geom_Point) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def Line(self) -> Geom_Line: ...
	def Points(self, thePStart: Geom_Point, thePEnd: Geom_Point) -> None: ...
	def SetColor(self, aColor: Quantity_Color) -> None: ...
	def SetLine(self, theLine: Geom_Line) -> None: ...
	def SetPoints(self, thePStart: Geom_Point, thePEnd: Geom_Point) -> None: ...
	def SetWidth(self, aValue: float) -> None: ...
	def Signature(self) -> int: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def UnsetColor(self) -> None: ...
	def UnsetWidth(self) -> None: ...

class AIS_Manipulator(AIS_InteractiveObject):
	@overload
	def __init__(self) -> None: ...
	@overload
	def __init__(self, thePosition: gp_Ax2) -> None: ...
	def ActiveMode(self) -> AIS_ManipulatorMode: ...
	def ClearSelected(self) -> None: ...
	def Compute(self, thePrsMgr: PrsMgr_PresentationManager3d, thePrs: Prs3d_Presentation, theMode: Optional[int] = 0) -> None: ...
	def ComputeSelection(self, theSelection: SelectMgr_Selection, theMode: int) -> None: ...
	def DeactivateCurrentMode(self) -> None: ...
	def Detach(self) -> None: ...
	def EnableMode(self, theMode: AIS_ManipulatorMode) -> None: ...
	def HasActiveMode(self) -> bool: ...
	def HasActiveTransformation(self) -> bool: ...
	def HilightOwnerWithColor(self, thePM: PrsMgr_PresentationManager3d, theStyle: Prs3d_Drawer, theOwner: SelectMgr_EntityOwner) -> None: ...
	def HilightSelected(self, thePM: PrsMgr_PresentationManager3d, theSeq: SelectMgr_SequenceOfOwner) -> None: ...
	def IsAttached(self) -> bool: ...
	def IsAutoHilight(self) -> bool: ...
	def IsModeActivationOnDetection(self) -> bool: ...
	@overload
	def Object(self) -> AIS_InteractiveObject: ...
	@overload
	def Object(self, theIndex: int) -> AIS_InteractiveObject: ...
	def ObjectTransformation(self, theX: int, theY: int, theView: V3d_View, theTrsf: gp_Trsf) -> bool: ...
	def Objects(self) -> AIS_ManipulatorObjectSequence: ...
	def Position(self) -> gp_Ax2: ...
	def SetGap(self, theValue: float) -> None: ...
	def SetModeActivationOnDetection(self, theToEnable: bool) -> None: ...
	@overload
	def SetPart(self, theAxisIndex: int, theMode: AIS_ManipulatorMode, theIsEnabled: bool) -> None: ...
	@overload
	def SetPart(self, theMode: AIS_ManipulatorMode, theIsEnabled: bool) -> None: ...
	def SetPosition(self, thePosition: gp_Ax2) -> None: ...
	def SetSize(self, theSideLength: float) -> None: ...
	def SetTransformPersistence(self, theTrsfPers: Graphic3d_TransformPers) -> None: ...
	def SetZoomPersistence(self, theToEnable: bool) -> None: ...
	def Size(self) -> float: ...
	def StartTransform(self, theX: int, theY: int, theView: V3d_View) -> None: ...
	@overload
	def StartTransformation(self) -> gp_Trsf: ...
	@overload
	def StartTransformation(self, theIndex: int) -> gp_Trsf: ...
	def StopTransform(self, theToApply: Optional[bool] = True) -> None: ...
	@overload
	def Transform(self, aTrsf: gp_Trsf) -> None: ...
	@overload
	def Transform(self, theX: int, theY: int, theView: V3d_View) -> gp_Trsf: ...
	def ZoomPersistence(self) -> bool: ...

class AIS_MediaPlayer(AIS_InteractiveObject):
	def __init__(self) -> None: ...
	def Duration(self) -> False: ...
	def OpenInput(self, thePath: TCollection_AsciiString, theToWait: bool) -> None: ...
	def PlayPause(self) -> None: ...
	def PlayerContext(self) -> Media_PlayerContext: ...
	def PresentFrame(self, theLeftCorner: Graphic3d_Vec2i, theMaxSize: Graphic3d_Vec2i) -> False: ...
	def SetClosePlayer(self) -> None: ...

class AIS_MultipleConnectedInteractive(AIS_InteractiveObject):
	def __init__(self) -> None: ...
	def AcceptShapeDecomposition(self) -> bool: ...
	@overload
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	@overload
	def Compute(self, aProjector: Prs3d_Projector, aPresentation: Prs3d_Presentation) -> None: ...
	@overload
	def Connect(self, theAnotherObj: AIS_InteractiveObject, theLocation: Geom_Transformation, theTrsfPers: Graphic3d_TransformPers) -> AIS_InteractiveObject: ...
	@overload
	def Connect(self, theAnotherObj: AIS_InteractiveObject) -> AIS_InteractiveObject: ...
	@overload
	def Connect(self, theAnotherObj: AIS_InteractiveObject, theLocation: gp_Trsf) -> AIS_InteractiveObject: ...
	@overload
	def Connect(self, theAnotherObj: AIS_InteractiveObject, theLocation: gp_Trsf, theTrsfPers: Graphic3d_TransformPers) -> AIS_InteractiveObject: ...
	@overload
	def Connect(self, theInteractive: AIS_InteractiveObject, theLocation: gp_Trsf, theTrsfPersFlag: Graphic3d_TransModeFlags, theTrsfPersPoint: gp_Pnt) -> AIS_InteractiveObject: ...
	def Disconnect(self, theInteractive: AIS_InteractiveObject) -> None: ...
	def DisconnectAll(self) -> None: ...
	def GetAssemblyOwner(self) -> SelectMgr_EntityOwner: ...
	def GlobalSelOwner(self) -> SelectMgr_EntityOwner: ...
	def HasConnection(self) -> bool: ...
	def SetContext(self, theCtx: AIS_InteractiveContext) -> None: ...
	def Signature(self) -> int: ...
	def Type(self) -> AIS_KindOfInteractive: ...

class AIS_Plane(AIS_InteractiveObject):
	@overload
	def __init__(self, aComponent: Geom_Plane, aCurrentMode: Optional[bool] = False) -> None: ...
	@overload
	def __init__(self, aComponent: Geom_Plane, aCenter: gp_Pnt, aCurrentMode: Optional[bool] = False) -> None: ...
	@overload
	def __init__(self, aComponent: Geom_Plane, aCenter: gp_Pnt, aPmin: gp_Pnt, aPmax: gp_Pnt, aCurrentMode: Optional[bool] = False) -> None: ...
	@overload
	def __init__(self, aComponent: Geom_Axis2Placement, aPlaneType: AIS_TypeOfPlane, aCurrentMode: Optional[bool] = False) -> None: ...
	def AcceptDisplayMode(self, aMode: int) -> bool: ...
	def Axis2Placement(self) -> Geom_Axis2Placement: ...
	def Center(self) -> gp_Pnt: ...
	def Component(self) -> Geom_Plane: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def ComputeSelection(self, theSelection: SelectMgr_Selection, theMode: int) -> None: ...
	def CurrentMode(self) -> bool: ...
	def HasOwnSize(self) -> bool: ...
	def IsXYZPlane(self) -> bool: ...
	def PlaneAttributes(self, aComponent: Geom_Plane, aCenter: gp_Pnt, aPmin: gp_Pnt, aPmax: gp_Pnt) -> bool: ...
	def SetAxis2Placement(self, aComponent: Geom_Axis2Placement, aPlaneType: AIS_TypeOfPlane) -> None: ...
	def SetCenter(self, theCenter: gp_Pnt) -> None: ...
	def SetColor(self, aColor: Quantity_Color) -> None: ...
	def SetComponent(self, aComponent: Geom_Plane) -> None: ...
	def SetContext(self, aCtx: AIS_InteractiveContext) -> None: ...
	def SetCurrentMode(self, theCurrentMode: bool) -> None: ...
	def SetPlaneAttributes(self, aComponent: Geom_Plane, aCenter: gp_Pnt, aPmin: gp_Pnt, aPmax: gp_Pnt) -> None: ...
	@overload
	def SetSize(self, aValue: float) -> None: ...
	@overload
	def SetSize(self, Xval: float, YVal: float) -> None: ...
	def SetTypeOfSensitivity(self, theTypeOfSensitivity: Select3D_TypeOfSensitivity) -> None: ...
	def Signature(self) -> int: ...
	def Size(self) -> Tuple[bool, float, float]: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def TypeOfPlane(self) -> AIS_TypeOfPlane: ...
	def TypeOfSensitivity(self) -> Select3D_TypeOfSensitivity: ...
	def UnsetColor(self) -> None: ...
	def UnsetSize(self) -> None: ...

class AIS_PlaneTrihedron(AIS_InteractiveObject):
	def __init__(self, aPlane: Geom_Plane) -> None: ...
	def AcceptDisplayMode(self, aMode: int) -> bool: ...
	def Component(self) -> Geom_Plane: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def GetLength(self) -> float: ...
	def Position(self) -> AIS_Point: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetComponent(self, aPlane: Geom_Plane) -> None: ...
	def SetLength(self, theLength: float) -> None: ...
	def SetXLabel(self, theLabel: TCollection_AsciiString) -> None: ...
	def SetYLabel(self, theLabel: TCollection_AsciiString) -> None: ...
	def Signature(self) -> int: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def XAxis(self) -> AIS_Line: ...
	def YAxis(self) -> AIS_Line: ...

class AIS_Point(AIS_InteractiveObject):
	def __init__(self, aComponent: Geom_Point) -> None: ...
	def AcceptDisplayMode(self, aMode: int) -> bool: ...
	def Component(self) -> Geom_Point: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def HasMarker(self) -> bool: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetComponent(self, aComponent: Geom_Point) -> None: ...
	def SetMarker(self, aType: Aspect_TypeOfMarker) -> None: ...
	def Signature(self) -> int: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def UnsetColor(self) -> None: ...
	def UnsetMarker(self) -> None: ...
	def Vertex(self) -> TopoDS_Vertex: ...

class AIS_PointCloud(AIS_InteractiveObject):
	def __init__(self) -> None: ...
	def GetBoundingBox(self) -> Bnd_Box: ...
	def GetPoints(self) -> Graphic3d_ArrayOfPoints: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetMaterial(self, theMat: Graphic3d_MaterialAspect) -> None: ...
	@overload
	def SetPoints(self, thePoints: Graphic3d_ArrayOfPoints) -> None: ...
	@overload
	def SetPoints(self, theCoords: TColgp_HArray1OfPnt, theColors: Optional[Quantity_HArray1OfColor] = None, theNormals: Optional[TColgp_HArray1OfDir] = None) -> None: ...
	def UnsetColor(self) -> None: ...
	def UnsetMaterial(self) -> None: ...

class AIS_Relation(AIS_InteractiveObject):
	def AcceptDisplayMode(self, aMode: int) -> bool: ...
	def ArrowSize(self) -> float: ...
	def AutomaticPosition(self) -> bool: ...
	def ExtShape(self) -> int: ...
	def FirstShape(self) -> TopoDS_Shape: ...
	def IsMovable(self) -> bool: ...
	def KindOfDimension(self) -> AIS_KindOfDimension: ...
	def Plane(self) -> Geom_Plane: ...
	def Position(self) -> gp_Pnt: ...
	def SecondShape(self) -> TopoDS_Shape: ...
	def SetArrowSize(self, theArrowSize: float) -> None: ...
	def SetAutomaticPosition(self, theStatus: bool) -> None: ...
	def SetBndBox(self, theXmin: float, theYmin: float, theZmin: float, theXmax: float, theYmax: float, theZmax: float) -> None: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetExtShape(self, theIndex: int) -> None: ...
	def SetFirstShape(self, aFShape: TopoDS_Shape) -> None: ...
	def SetPlane(self, thePlane: Geom_Plane) -> None: ...
	def SetPosition(self, thePosition: gp_Pnt) -> None: ...
	def SetSecondShape(self, aSShape: TopoDS_Shape) -> None: ...
	def SetSymbolPrs(self, theSymbolPrs: DsgPrs_ArrowSide) -> None: ...
	def SetText(self, theText: TCollection_ExtendedString) -> None: ...
	def SetValue(self, theVal: float) -> None: ...
	def SymbolPrs(self) -> DsgPrs_ArrowSide: ...
	def Text(self) -> TCollection_ExtendedString: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def UnsetBndBox(self) -> None: ...
	def UnsetColor(self) -> None: ...
	def Value(self) -> float: ...

class AIS_RubberBand(AIS_InteractiveObject):
	@overload
	def __init__(self) -> None: ...
	@overload
	def __init__(self, theLineColor: Quantity_Color, theType: Aspect_TypeOfLine, theLineWidth: Optional[float] = 1.0, theIsPolygonClosed: Optional[bool] = True) -> None: ...
	@overload
	def __init__(self, theLineColor: Quantity_Color, theType: Aspect_TypeOfLine, theFillColor: Quantity_Color, theTransparency: Optional[float] = 1.0, theLineWidth: Optional[float] = 1.0, theIsPolygonClosed: Optional[bool] = True) -> None: ...
	def AddPoint(self, thePoint: Graphic3d_Vec2i) -> None: ...
	def ClearPoints(self) -> None: ...
	def FillColor(self) -> Quantity_Color: ...
	def FillTransparency(self) -> float: ...
	def IsFilling(self) -> bool: ...
	def IsPolygonClosed(self) -> bool: ...
	def LineColor(self) -> Quantity_Color: ...
	def LineType(self) -> Aspect_TypeOfLine: ...
	def LineWidth(self) -> float: ...
	def Points(self) -> False: ...
	def RemoveLastPoint(self) -> None: ...
	def SetFillColor(self, theColor: Quantity_Color) -> None: ...
	def SetFillTransparency(self, theValue: float) -> None: ...
	@overload
	def SetFilling(self, theIsFilling: bool) -> None: ...
	@overload
	def SetFilling(self, theColor: Quantity_Color, theTransparency: float) -> None: ...
	def SetLineColor(self, theColor: Quantity_Color) -> None: ...
	def SetLineType(self, theType: Aspect_TypeOfLine) -> None: ...
	def SetLineWidth(self, theWidth: float) -> None: ...
	def SetPolygonClosed(self, theIsPolygonClosed: bool) -> None: ...
	def SetRectangle(self, theMinX: int, theMinY: int, theMaxX: int, theMaxY: int) -> None: ...

class AIS_Shape(AIS_InteractiveObject):
	def __init__(self, shap: TopoDS_Shape) -> None: ...
	def AcceptDisplayMode(self, theMode: int) -> bool: ...
	def AcceptShapeDecomposition(self) -> bool: ...
	def BoundingBox(self) -> Bnd_Box: ...
	def Color(self, aColor: Quantity_Color) -> None: ...
	def Material(self) -> Graphic3d_NameOfMaterial: ...
	def OwnDeviationAngle(self) -> Tuple[bool, float, float]: ...
	def OwnDeviationCoefficient(self) -> Tuple[bool, float, float]: ...
	def OwnHLRDeviationAngle(self) -> Tuple[bool, float, float]: ...
	def OwnHLRDeviationCoefficient(self) -> Tuple[bool, float, float]: ...
	@staticmethod
	def SelectionMode(theShapeType: TopAbs_ShapeEnum) -> int: ...
	@staticmethod
	def SelectionType(theSelMode: int) -> TopAbs_ShapeEnum: ...
	def Set(self, theShape: TopoDS_Shape) -> None: ...
	def SetAngleAndDeviation(self, anAngle: float) -> None: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetHLRAngleAndDeviation(self, anAngle: float) -> None: ...
	def SetMaterial(self, aName: Graphic3d_MaterialAspect) -> None: ...
	@overload
	def SetOwnDeviationAngle(self) -> bool: ...
	@overload
	def SetOwnDeviationAngle(self, anAngle: float) -> None: ...
	@overload
	def SetOwnDeviationCoefficient(self) -> bool: ...
	@overload
	def SetOwnDeviationCoefficient(self, aCoefficient: float) -> None: ...
	@overload
	def SetOwnHLRDeviationAngle(self) -> bool: ...
	@overload
	def SetOwnHLRDeviationAngle(self, anAngle: float) -> None: ...
	@overload
	def SetOwnHLRDeviationCoefficient(self) -> bool: ...
	@overload
	def SetOwnHLRDeviationCoefficient(self, aCoefficient: float) -> None: ...
	def SetShape(self, theShape: TopoDS_Shape) -> None: ...
	def SetTextureOriginUV(self, theOriginUV: gp_Pnt2d) -> None: ...
	def SetTextureRepeatUV(self, theRepeatUV: gp_Pnt2d) -> None: ...
	def SetTextureScaleUV(self, theScaleUV: gp_Pnt2d) -> None: ...
	def SetTransparency(self, aValue: Optional[float] = 0.6) -> None: ...
	def SetTypeOfHLR(self, theTypeOfHLR: Prs3d_TypeOfHLR) -> None: ...
	def SetWidth(self, aValue: float) -> None: ...
	def Shape(self) -> TopoDS_Shape: ...
	def Signature(self) -> int: ...
	def TextureOriginUV(self) -> gp_Pnt2d: ...
	def TextureRepeatUV(self) -> gp_Pnt2d: ...
	def TextureScaleUV(self) -> gp_Pnt2d: ...
	def Transparency(self) -> float: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def TypeOfHLR(self) -> Prs3d_TypeOfHLR: ...
	def UnsetColor(self) -> None: ...
	def UnsetMaterial(self) -> None: ...
	def UnsetTransparency(self) -> None: ...
	def UnsetWidth(self) -> None: ...
	def UserAngle(self) -> float: ...
	@staticmethod
	def computeHlrPresentation(theProjector: Prs3d_Projector, thePrs: Prs3d_Presentation, theShape: TopoDS_Shape, theDrawer: Prs3d_Drawer) -> None: ...

class AIS_SignatureFilter(AIS_TypeFilter):
	def __init__(self, aGivenKind: AIS_KindOfInteractive, aGivenSignature: int) -> None: ...
	def IsOk(self, anobj: SelectMgr_EntityOwner) -> bool: ...

class AIS_TextLabel(AIS_InteractiveObject):
	def __init__(self) -> None: ...
	def HasFlipping(self) -> bool: ...
	def HasOrientation3D(self) -> bool: ...
	def Orientation3D(self) -> gp_Ax2: ...
	def Position(self) -> gp_Pnt: ...
	def SetAngle(self, theAngle: float) -> None: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetColorSubTitle(self, theColor: Quantity_Color) -> None: ...
	def SetDisplayType(self, theDisplayType: Aspect_TypeOfDisplayText) -> None: ...
	def SetFlipping(self, theIsFlipping: bool) -> None: ...
	def SetFont(self, theFont: str) -> None: ...
	def SetHJustification(self, theHJust: Graphic3d_HorizontalTextAlignment) -> None: ...
	def SetHeight(self, theHeight: float) -> None: ...
	def SetOrientation3D(self, theOrientation: gp_Ax2) -> None: ...
	def SetPosition(self, thePosition: gp_Pnt) -> None: ...
	def SetText(self, theText: TCollection_ExtendedString) -> None: ...
	def SetTransparency(self, theValue: float) -> None: ...
	def SetVJustification(self, theVJust: Graphic3d_VerticalTextAlignment) -> None: ...
	def SetZoomable(self, theIsZoomable: bool) -> None: ...
	def UnsetOrientation3D(self) -> None: ...
	def UnsetTransparency(self) -> None: ...

class AIS_Triangulation(AIS_InteractiveObject):
	def __init__(self, aTriangulation: Poly_Triangulation) -> None: ...
	def GetColors(self) -> TColStd_HArray1OfInteger: ...
	def GetTriangulation(self) -> Poly_Triangulation: ...
	def HasVertexColors(self) -> bool: ...
	def SetColors(self, aColor: TColStd_HArray1OfInteger) -> None: ...
	def SetTransparency(self, aValue: Optional[float] = 0.6) -> None: ...
	def SetTriangulation(self, aTriangulation: Poly_Triangulation) -> None: ...
	def UnsetTransparency(self) -> None: ...

class AIS_Trihedron(AIS_InteractiveObject):
	def __init__(self, theComponent: Geom_Axis2Placement) -> None: ...
	def AcceptDisplayMode(self, theMode: int) -> bool: ...
	def ArrowColor(self) -> Quantity_Color: ...
	def ClearSelected(self) -> None: ...
	def Component(self) -> Geom_Axis2Placement: ...
	def DatumDisplayMode(self) -> Prs3d_DatumMode: ...
	def DatumPartColor(self, thePart: Prs3d_DatumParts) -> Quantity_Color: ...
	def HasArrowColor(self) -> bool: ...
	def HasOwnSize(self) -> bool: ...
	def HasTextColor(self) -> bool: ...
	def HilightOwnerWithColor(self, thePM: PrsMgr_PresentationManager3d, theStyle: Prs3d_Drawer, theOwner: SelectMgr_EntityOwner) -> None: ...
	def HilightSelected(self, thePM: PrsMgr_PresentationManager3d, theOwners: SelectMgr_SequenceOfOwner) -> None: ...
	def IsAutoHilight(self) -> bool: ...
	def Label(self, thePart: Prs3d_DatumParts) -> TCollection_ExtendedString: ...
	def SelectionPriority(self, thePart: Prs3d_DatumParts) -> int: ...
	def SetArrowColor(self, theColor: Quantity_Color) -> None: ...
	def SetAxisColor(self, theColor: Quantity_Color) -> None: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetComponent(self, theComponent: Geom_Axis2Placement) -> None: ...
	def SetDatumDisplayMode(self, theMode: Prs3d_DatumMode) -> None: ...
	def SetDatumPartColor(self, thePart: Prs3d_DatumParts, theColor: Quantity_Color) -> None: ...
	def SetDrawArrows(self, theToDraw: bool) -> None: ...
	def SetLabel(self, thePart: Prs3d_DatumParts, thePriority: TCollection_ExtendedString) -> None: ...
	def SetOriginColor(self, theColor: Quantity_Color) -> None: ...
	def SetSelectionPriority(self, thePart: Prs3d_DatumParts, thePriority: int) -> None: ...
	def SetSize(self, theValue: float) -> None: ...
	def SetTextColor(self, theColor: Quantity_Color) -> None: ...
	def SetXAxisColor(self, theColor: Quantity_Color) -> None: ...
	def SetYAxisColor(self, theColor: Quantity_Color) -> None: ...
	def Signature(self) -> int: ...
	def Size(self) -> float: ...
	def TextColor(self) -> Quantity_Color: ...
	def ToDrawArrows(self) -> bool: ...
	def Type(self) -> AIS_KindOfInteractive: ...
	def UnsetColor(self) -> None: ...
	def UnsetSize(self) -> None: ...

class AIS_ViewCube(AIS_InteractiveObject):
	def __init__(self) -> None: ...
	def AcceptDisplayMode(self, theMode: int) -> bool: ...
	def AxesPadding(self) -> float: ...
	def AxisLabel(self, theAxis: Prs3d_DatumParts) -> TCollection_AsciiString: ...
	def BoxColor(self) -> Quantity_Color: ...
	def BoxCornerMinSize(self) -> float: ...
	def BoxCornerStyle(self) -> Prs3d_ShadingAspect: ...
	def BoxEdgeGap(self) -> float: ...
	def BoxEdgeMinSize(self) -> float: ...
	def BoxEdgeStyle(self) -> Prs3d_ShadingAspect: ...
	def BoxFacetExtension(self) -> float: ...
	def BoxSideLabel(self, theSide: V3d_TypeOfOrientation) -> TCollection_AsciiString: ...
	def BoxSideStyle(self) -> Prs3d_ShadingAspect: ...
	def BoxTransparency(self) -> float: ...
	def ClearSelected(self) -> None: ...
	def Compute(self, thePrsMgr: PrsMgr_PresentationManager3d, thePrs: Prs3d_Presentation, theMode: Optional[int] = 0) -> None: ...
	def ComputeSelection(self, theSelection: SelectMgr_Selection, theMode: int) -> None: ...
	def Duration(self) -> float: ...
	def Font(self) -> TCollection_AsciiString: ...
	def FontHeight(self) -> float: ...
	def GlobalSelOwner(self) -> SelectMgr_EntityOwner: ...
	def HandleClick(self, theOwner: AIS_ViewCubeOwner) -> None: ...
	def HasAnimation(self) -> bool: ...
	def HilightOwnerWithColor(self, thePM: PrsMgr_PresentationManager3d, theStyle: Prs3d_Drawer, theOwner: SelectMgr_EntityOwner) -> None: ...
	def HilightSelected(self, thePM: PrsMgr_PresentationManager3d, theSeq: SelectMgr_SequenceOfOwner) -> None: ...
	def InnerColor(self) -> Quantity_Color: ...
	def IsAutoHilight(self) -> bool: ...
	@staticmethod
	def IsBoxCorner(theOrient: V3d_TypeOfOrientation) -> False: ...
	@staticmethod
	def IsBoxEdge(theOrient: V3d_TypeOfOrientation) -> False: ...
	@staticmethod
	def IsBoxSide(theOrient: V3d_TypeOfOrientation) -> False: ...
	def IsFixedAnimationLoop(self) -> bool: ...
	def IsYup(self) -> bool: ...
	def ResetStyles(self) -> None: ...
	def RoundRadius(self) -> float: ...
	def SetAxesLabels(self, theX: TCollection_AsciiString, theY: TCollection_AsciiString, theZ: TCollection_AsciiString) -> None: ...
	def SetAxesPadding(self, theValue: float) -> None: ...
	def SetBoxColor(self, theColor: Quantity_Color) -> None: ...
	def SetBoxCornerMinSize(self, theValue: float) -> None: ...
	def SetBoxEdgeGap(self, theValue: float) -> None: ...
	def SetBoxEdgeMinSize(self, theValue: float) -> None: ...
	def SetBoxFacetExtension(self, theValue: float) -> None: ...
	def SetBoxSideLabel(self, theSide: V3d_TypeOfOrientation, theLabel: TCollection_AsciiString) -> None: ...
	def SetBoxTransparency(self, theValue: float) -> None: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetDrawAxes(self, theValue: bool) -> None: ...
	def SetDrawEdges(self, theValue: bool) -> None: ...
	def SetDrawVertices(self, theValue: bool) -> None: ...
	def SetDuration(self, theValue: float) -> None: ...
	def SetFitSelected(self, theToFitSelected: bool) -> None: ...
	def SetFont(self, theFont: TCollection_AsciiString) -> None: ...
	def SetFontHeight(self, theValue: float) -> None: ...
	def SetInnerColor(self, theColor: Quantity_Color) -> None: ...
	def SetMaterial(self, theMat: Graphic3d_MaterialAspect) -> None: ...
	def SetResetCamera(self, theToReset: bool) -> None: ...
	def SetRoundRadius(self, theValue: float) -> None: ...
	def SetSize(self, theValue: float, theToAdaptAnother: Optional[bool] = true) -> None: ...
	def SetTextColor(self, theColor: Quantity_Color) -> None: ...
	def SetTransparency(self, theValue: float) -> None: ...
	def SetViewAnimation(self, theAnimation: AIS_AnimationCamera) -> None: ...
	def SetYup(self, theIsYup: bool, theToUpdateLabels: Optional[bool] = True) -> None: ...
	def Size(self) -> float: ...
	def StartAnimation(self, theOwner: AIS_ViewCubeOwner) -> None: ...
	def TextColor(self) -> Quantity_Color: ...
	def ToAutoStartAnimation(self) -> bool: ...
	def ToDrawAxes(self) -> bool: ...
	def ToDrawEdges(self) -> bool: ...
	def ToDrawVertices(self) -> bool: ...
	def ToFitSelected(self) -> bool: ...
	def ToResetCameraUp(self) -> bool: ...
	def UnsetAttributes(self) -> None: ...
	def UnsetColor(self) -> None: ...
	def UnsetHilightAttributes(self) -> None: ...
	def UnsetMaterial(self) -> None: ...
	def UnsetTransparency(self) -> None: ...
	def UpdateAnimation(self, theToUpdate: bool) -> bool: ...
	def ViewAnimation(self) -> AIS_AnimationCamera: ...

class AIS_AngleDimension(AIS_Dimension):
	@overload
	def __init__(self, theFirstEdge: TopoDS_Edge, theSecondEdge: TopoDS_Edge) -> None: ...
	@overload
	def __init__(self, theFirstPoint: gp_Pnt, theSecondPoint: gp_Pnt, theThirdPoint: gp_Pnt) -> None: ...
	@overload
	def __init__(self, theFirstVertex: TopoDS_Vertex, theSecondVertex: TopoDS_Vertex, theThirdVertex: TopoDS_Vertex) -> None: ...
	@overload
	def __init__(self, theCone: TopoDS_Face) -> None: ...
	@overload
	def __init__(self, theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face) -> None: ...
	@overload
	def __init__(self, theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face, thePoint: gp_Pnt) -> None: ...
	def CenterPoint(self) -> gp_Pnt: ...
	def FirstPoint(self) -> gp_Pnt: ...
	def FirstShape(self) -> TopoDS_Shape: ...
	def GetArrowsVisibility(self) -> AIS_TypeOfAngleArrowVisibility: ...
	def GetDisplayUnits(self) -> TCollection_AsciiString: ...
	def GetModelUnits(self) -> TCollection_AsciiString: ...
	def GetTextPosition(self) -> gp_Pnt: ...
	def GetType(self) -> AIS_TypeOfAngle: ...
	def SecondPoint(self) -> gp_Pnt: ...
	def SecondShape(self) -> TopoDS_Shape: ...
	def SetArrowsVisibility(self, theType: AIS_TypeOfAngleArrowVisibility) -> None: ...
	def SetDisplayUnits(self, theUnits: TCollection_AsciiString) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theFirstEdge: TopoDS_Edge, theSecondEdge: TopoDS_Edge) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theFirstPoint: gp_Pnt, theSecondPoint: gp_Pnt, theThridPoint: gp_Pnt) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theFirstVertex: TopoDS_Vertex, theSecondVertex: TopoDS_Vertex, theThirdVertex: TopoDS_Vertex) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theCone: TopoDS_Face) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face, thePoint: gp_Pnt) -> None: ...
	def SetModelUnits(self, theUnits: TCollection_AsciiString) -> None: ...
	def SetTextPosition(self, theTextPos: gp_Pnt) -> None: ...
	def SetType(self, theType: AIS_TypeOfAngle) -> None: ...
	def ThirdShape(self) -> TopoDS_Shape: ...

class AIS_Chamf2dDimension(AIS_Relation):
	@overload
	def __init__(self, aFShape: TopoDS_Shape, aPlane: Geom_Plane, aVal: float, aText: TCollection_ExtendedString) -> None: ...
	@overload
	def __init__(self, aFShape: TopoDS_Shape, aPlane: Geom_Plane, aVal: float, aText: TCollection_ExtendedString, aPosition: gp_Pnt, aSymbolPrs: DsgPrs_ArrowSide, anArrowSize: Optional[float] = 0.0) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def IsMovable(self) -> bool: ...
	def KindOfDimension(self) -> AIS_KindOfDimension: ...

class AIS_Chamf3dDimension(AIS_Relation):
	@overload
	def __init__(self, aFShape: TopoDS_Shape, aVal: float, aText: TCollection_ExtendedString) -> None: ...
	@overload
	def __init__(self, aFShape: TopoDS_Shape, aVal: float, aText: TCollection_ExtendedString, aPosition: gp_Pnt, aSymbolPrs: DsgPrs_ArrowSide, anArrowSize: Optional[float] = 0.0) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def IsMovable(self) -> bool: ...
	def KindOfDimension(self) -> AIS_KindOfDimension: ...

class AIS_ColoredShape(AIS_Shape):
	@overload
	def __init__(self, theShape: TopoDS_Shape) -> None: ...
	@overload
	def __init__(self, theShape: AIS_Shape) -> None: ...
	def ChangeCustomAspectsMap(self) -> AIS_DataMapOfShapeDrawer: ...
	def ClearCustomAspects(self) -> None: ...
	def CustomAspects(self, theShape: TopoDS_Shape) -> AIS_ColoredDrawer: ...
	def CustomAspectsMap(self) -> AIS_DataMapOfShapeDrawer: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetCustomColor(self, theShape: TopoDS_Shape, theColor: Quantity_Color) -> None: ...
	def SetCustomTransparency(self, theShape: TopoDS_Shape, theTransparency: float) -> None: ...
	def SetCustomWidth(self, theShape: TopoDS_Shape, theLineWidth: float) -> None: ...
	def SetMaterial(self, theAspect: Graphic3d_MaterialAspect) -> None: ...
	def SetTransparency(self, theValue: float) -> None: ...
	def SetWidth(self, theLineWidth: float) -> None: ...
	def UnsetCustomAspects(self, theShape: TopoDS_Shape, theToUnregister: Optional[bool] = False) -> None: ...
	def UnsetTransparency(self) -> None: ...
	def UnsetWidth(self) -> None: ...

class AIS_ConcentricRelation(AIS_Relation):
	def __init__(self, aFShape: TopoDS_Shape, aSShape: TopoDS_Shape, aPlane: Geom_Plane) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...

class AIS_DiameterDimension(AIS_Dimension):
	@overload
	def __init__(self, theCircle: gp_Circ) -> None: ...
	@overload
	def __init__(self, theCircle: gp_Circ, thePlane: gp_Pln) -> None: ...
	@overload
	def __init__(self, theShape: TopoDS_Shape) -> None: ...
	@overload
	def __init__(self, theShape: TopoDS_Shape, thePlane: gp_Pln) -> None: ...
	def AnchorPoint(self) -> gp_Pnt: ...
	def Circle(self) -> gp_Circ: ...
	def GetDisplayUnits(self) -> TCollection_AsciiString: ...
	def GetModelUnits(self) -> TCollection_AsciiString: ...
	def GetTextPosition(self) -> gp_Pnt: ...
	def SetDisplayUnits(self, theUnits: TCollection_AsciiString) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theCircle: gp_Circ) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theShape: TopoDS_Shape) -> None: ...
	def SetModelUnits(self, theUnits: TCollection_AsciiString) -> None: ...
	def SetTextPosition(self, theTextPos: gp_Pnt) -> None: ...
	def Shape(self) -> TopoDS_Shape: ...

class AIS_EllipseRadiusDimension(AIS_Relation):
	def ComputeGeometry(self) -> None: ...
	def IsMovable(self) -> bool: ...
	def KindOfDimension(self) -> AIS_KindOfDimension: ...

class AIS_EqualDistanceRelation(AIS_Relation):
	def __init__(self, aShape1: TopoDS_Shape, aShape2: TopoDS_Shape, aShape3: TopoDS_Shape, aShape4: TopoDS_Shape, aPlane: Geom_Plane) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	@staticmethod
	def ComputeOneEdgeOneVertexLength(aPresentation: Prs3d_Presentation, aDrawer: Prs3d_Drawer, ArrowSize: float, FirstShape: TopoDS_Shape, SecondShape: TopoDS_Shape, Plane: Geom_Plane, AutomaticPos: bool, IsSetBndBox: bool, BndBox: Bnd_Box, Position: gp_Pnt, FirstAttach: gp_Pnt, SecondAttach: gp_Pnt, FirstExtreme: gp_Pnt, SecondExtreme: gp_Pnt, SymbolPrs: DsgPrs_ArrowSide) -> None: ...
	@staticmethod
	def ComputeTwoEdgesLength(aPresentation: Prs3d_Presentation, aDrawer: Prs3d_Drawer, ArrowSize: float, FirstEdge: TopoDS_Edge, SecondEdge: TopoDS_Edge, Plane: Geom_Plane, AutomaticPos: bool, IsSetBndBox: bool, BndBox: Bnd_Box, Position: gp_Pnt, FirstAttach: gp_Pnt, SecondAttach: gp_Pnt, FirstExtreme: gp_Pnt, SecondExtreme: gp_Pnt, SymbolPrs: DsgPrs_ArrowSide) -> None: ...
	@staticmethod
	def ComputeTwoVerticesLength(aPresentation: Prs3d_Presentation, aDrawer: Prs3d_Drawer, ArrowSize: float, FirstVertex: TopoDS_Vertex, SecondVertex: TopoDS_Vertex, Plane: Geom_Plane, AutomaticPos: bool, IsSetBndBox: bool, BndBox: Bnd_Box, TypeDist: AIS_TypeOfDist, Position: gp_Pnt, FirstAttach: gp_Pnt, SecondAttach: gp_Pnt, FirstExtreme: gp_Pnt, SecondExtreme: gp_Pnt, SymbolPrs: DsgPrs_ArrowSide) -> None: ...
	def SetShape3(self, aShape: TopoDS_Shape) -> None: ...
	def SetShape4(self, aShape: TopoDS_Shape) -> None: ...
	def Shape3(self) -> TopoDS_Shape: ...
	def Shape4(self) -> TopoDS_Shape: ...

class AIS_EqualRadiusRelation(AIS_Relation):
	def __init__(self, aFirstEdge: TopoDS_Edge, aSecondEdge: TopoDS_Edge, aPlane: Geom_Plane) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...

class AIS_FixRelation(AIS_Relation):
	@overload
	def __init__(self, aShape: TopoDS_Shape, aPlane: Geom_Plane, aWire: TopoDS_Wire) -> None: ...
	@overload
	def __init__(self, aShape: TopoDS_Shape, aPlane: Geom_Plane, aWire: TopoDS_Wire, aPosition: gp_Pnt, anArrowSize: Optional[float] = 0.01) -> None: ...
	@overload
	def __init__(self, aShape: TopoDS_Shape, aPlane: Geom_Plane) -> None: ...
	@overload
	def __init__(self, aShape: TopoDS_Shape, aPlane: Geom_Plane, aPosition: gp_Pnt, anArrowSize: Optional[float] = 0.01) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def IsMovable(self) -> bool: ...
	def SetWire(self, aWire: TopoDS_Wire) -> None: ...
	def Wire(self) -> TopoDS_Wire: ...

class AIS_IdenticRelation(AIS_Relation):
	def __init__(self, FirstShape: TopoDS_Shape, SecondShape: TopoDS_Shape, aPlane: Geom_Plane) -> None: ...
	def AddUser(self, theUser: Standard_Transient) -> None: ...
	def ClearUsers(self) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def HasUsers(self) -> bool: ...
	def IsMovable(self) -> bool: ...
	def Users(self) -> TColStd_ListOfTransient: ...

class AIS_LengthDimension(AIS_Dimension):
	@overload
	def __init__(self, theFace: TopoDS_Face, theEdge: TopoDS_Edge) -> None: ...
	@overload
	def __init__(self, theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face) -> None: ...
	@overload
	def __init__(self, theFirstPoint: gp_Pnt, theSecondPoint: gp_Pnt, thePlane: gp_Pln) -> None: ...
	@overload
	def __init__(self, theFirstShape: TopoDS_Shape, theSecondShape: TopoDS_Shape, thePlane: gp_Pln) -> None: ...
	@overload
	def __init__(self, theEdge: TopoDS_Edge, thePlane: gp_Pln) -> None: ...
	def FirstPoint(self) -> gp_Pnt: ...
	def FirstShape(self) -> TopoDS_Shape: ...
	def GetDisplayUnits(self) -> TCollection_AsciiString: ...
	def GetModelUnits(self) -> TCollection_AsciiString: ...
	def GetTextPosition(self) -> gp_Pnt: ...
	def SecondPoint(self) -> gp_Pnt: ...
	def SecondShape(self) -> TopoDS_Shape: ...
	def SetDirection(self, theDirection: gp_Dir, theUseDirection: Optional[bool] = True) -> None: ...
	def SetDisplayUnits(self, theUnits: TCollection_AsciiString) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theFirstPoint: gp_Pnt, theSecondPoint: gp_Pnt, thePlane: gp_Pln) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theEdge: TopoDS_Edge, thePlane: gp_Pln) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theFirstFace: TopoDS_Face, theSecondFace: TopoDS_Face) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theFace: TopoDS_Face, theEdge: TopoDS_Edge) -> None: ...
	def SetMeasuredShapes(self, theFirstShape: TopoDS_Shape, theSecondShape: TopoDS_Shape) -> None: ...
	def SetModelUnits(self, theUnits: TCollection_AsciiString) -> None: ...
	def SetTextPosition(self, theTextPos: gp_Pnt) -> None: ...

class AIS_MidPointRelation(AIS_Relation):
	def __init__(self, aSymmTool: TopoDS_Shape, FirstShape: TopoDS_Shape, SecondShape: TopoDS_Shape, aPlane: Geom_Plane) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def GetTool(self) -> TopoDS_Shape: ...
	def IsMovable(self) -> bool: ...
	def SetTool(self, aMidPointTool: TopoDS_Shape) -> None: ...

class AIS_OffsetDimension(AIS_Relation):
	def __init__(self, FistShape: TopoDS_Shape, SecondShape: TopoDS_Shape, aVal: float, aText: TCollection_ExtendedString) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def IsMovable(self) -> bool: ...
	def KindOfDimension(self) -> AIS_KindOfDimension: ...
	def SetRelativePos(self, aTrsf: gp_Trsf) -> None: ...

class AIS_ParallelRelation(AIS_Relation):
	@overload
	def __init__(self, aFShape: TopoDS_Shape, aSShape: TopoDS_Shape, aPlane: Geom_Plane) -> None: ...
	@overload
	def __init__(self, aFShape: TopoDS_Shape, aSShape: TopoDS_Shape, aPlane: Geom_Plane, aPosition: gp_Pnt, aSymbolPrs: DsgPrs_ArrowSide, anArrowSize: Optional[float] = 0.01) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def IsMovable(self) -> bool: ...

class AIS_PerpendicularRelation(AIS_Relation):
	@overload
	def __init__(self, aFShape: TopoDS_Shape, aSShape: TopoDS_Shape, aPlane: Geom_Plane) -> None: ...
	@overload
	def __init__(self, aFShape: TopoDS_Shape, aSShape: TopoDS_Shape) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...

class AIS_RadiusDimension(AIS_Dimension):
	@overload
	def __init__(self, theCircle: gp_Circ) -> None: ...
	@overload
	def __init__(self, theCircle: gp_Circ, theAnchorPoint: gp_Pnt) -> None: ...
	@overload
	def __init__(self, theShape: TopoDS_Shape) -> None: ...
	def AnchorPoint(self) -> gp_Pnt: ...
	def Circle(self) -> gp_Circ: ...
	def GetDisplayUnits(self) -> TCollection_AsciiString: ...
	def GetModelUnits(self) -> TCollection_AsciiString: ...
	def GetTextPosition(self) -> gp_Pnt: ...
	def SetDisplayUnits(self, theUnits: TCollection_AsciiString) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theCircle: gp_Circ) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theCircle: gp_Circ, theAnchorPoint: gp_Pnt, theHasAnchor: Optional[bool] = True) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theShape: TopoDS_Shape) -> None: ...
	@overload
	def SetMeasuredGeometry(self, theShape: TopoDS_Shape, theAnchorPoint: gp_Pnt, theHasAnchor: Optional[bool] = True) -> None: ...
	def SetModelUnits(self, theUnits: TCollection_AsciiString) -> None: ...
	def SetTextPosition(self, theTextPos: gp_Pnt) -> None: ...
	def Shape(self) -> TopoDS_Shape: ...

class AIS_SymmetricRelation(AIS_Relation):
	def __init__(self, aSymmTool: TopoDS_Shape, FirstShape: TopoDS_Shape, SecondShape: TopoDS_Shape, aPlane: Geom_Plane) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def GetTool(self) -> TopoDS_Shape: ...
	def IsMovable(self) -> bool: ...
	def SetTool(self, aSymmetricTool: TopoDS_Shape) -> None: ...

class AIS_TangentRelation(AIS_Relation):
	def __init__(self, aFShape: TopoDS_Shape, aSShape: TopoDS_Shape, aPlane: Geom_Plane, anExternRef: Optional[int] = 0) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...
	def ExternRef(self) -> int: ...
	def SetExternRef(self, aRef: int) -> None: ...

class AIS_TexturedShape(AIS_Shape):
	def __init__(self, theShape: TopoDS_Shape) -> None: ...
	def AcceptDisplayMode(self, theMode: int) -> bool: ...
	def DisableTextureModulate(self) -> None: ...
	def EnableTextureModulate(self) -> None: ...
	def SetColor(self, theColor: Quantity_Color) -> None: ...
	def SetMaterial(self, theAspect: Graphic3d_MaterialAspect) -> None: ...
	def SetTextureFileName(self, theTextureFileName: TCollection_AsciiString) -> None: ...
	def SetTextureMapOff(self) -> None: ...
	def SetTextureMapOn(self) -> None: ...
	def SetTextureOrigin(self, theToSetTextureOrigin: bool, theUOrigin: Optional[float] = 0.0, theVOrigin: Optional[float] = 0.0) -> None: ...
	def SetTexturePixMap(self, theTexturePixMap: Image_PixMap) -> None: ...
	def SetTextureRepeat(self, theToRepeat: bool, theURepeat: Optional[float] = 1.0, theVRepeat: Optional[float] = 1.0) -> None: ...
	def SetTextureScale(self, theToSetTextureScale: bool, theScaleU: Optional[float] = 1.0, theScaleV: Optional[float] = 1.0) -> None: ...
	def TextureFile(self) -> str: ...
	def TextureMapState(self) -> bool: ...
	def TextureModulate(self) -> bool: ...
	def TextureOrigin(self) -> bool: ...
	def TexturePixMap(self) -> Image_PixMap: ...
	def TextureRepeat(self) -> bool: ...
	def TextureScale(self) -> bool: ...
	def TextureScaleU(self) -> float: ...
	def TextureScaleV(self) -> float: ...
	def TextureUOrigin(self) -> float: ...
	def TextureVOrigin(self) -> float: ...
	def URepeat(self) -> float: ...
	def UnsetColor(self) -> None: ...
	def UnsetMaterial(self) -> None: ...
	def UpdateAttributes(self) -> None: ...
	def VRepeat(self) -> float: ...

class AIS_MaxRadiusDimension(AIS_EllipseRadiusDimension):
	@overload
	def __init__(self, aShape: TopoDS_Shape, aVal: float, aText: TCollection_ExtendedString) -> None: ...
	@overload
	def __init__(self, aShape: TopoDS_Shape, aVal: float, aText: TCollection_ExtendedString, aPosition: gp_Pnt, aSymbolPrs: DsgPrs_ArrowSide, anArrowSize: Optional[float] = 0.0) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...

class AIS_MinRadiusDimension(AIS_EllipseRadiusDimension):
	@overload
	def __init__(self, aShape: TopoDS_Shape, aVal: float, aText: TCollection_ExtendedString) -> None: ...
	@overload
	def __init__(self, aShape: TopoDS_Shape, aVal: float, aText: TCollection_ExtendedString, aPosition: gp_Pnt, aSymbolPrs: DsgPrs_ArrowSide, anArrowSize: Optional[float] = 0.0) -> None: ...
	def Compute(self, aProjector: Prs3d_Projector, aTrsf: Geom_Transformation, aPresentation: Prs3d_Presentation) -> None: ...

# harray1 classes
# harray2 classes
# hsequence classes

ais_ComputeGeomCurve = ais.ComputeGeomCurve
ais_ComputeGeometry = ais.ComputeGeometry
ais_ComputeGeometry = ais.ComputeGeometry
ais_ComputeGeometry = ais.ComputeGeometry
ais_ComputeGeometry = ais.ComputeGeometry
ais_ComputeGeometry = ais.ComputeGeometry
ais_ComputeGeometry = ais.ComputeGeometry
ais_ComputeGeometry = ais.ComputeGeometry
ais_ComputeProjEdgePresentation = ais.ComputeProjEdgePresentation
ais_ComputeProjVertexPresentation = ais.ComputeProjVertexPresentation
ais_DistanceFromApex = ais.DistanceFromApex
ais_Farest = ais.Farest
ais_GetPlaneFromFace = ais.GetPlaneFromFace
ais_InDomain = ais.InDomain
ais_InitAngleBetweenCurvilinearFaces = ais.InitAngleBetweenCurvilinearFaces
ais_InitAngleBetweenPlanarFaces = ais.InitAngleBetweenPlanarFaces
ais_InitFaceLength = ais.InitFaceLength
ais_InitLengthBetweenCurvilinearFaces = ais.InitLengthBetweenCurvilinearFaces
ais_Nearest = ais.Nearest
ais_Nearest = ais.Nearest
ais_Nearest = ais.Nearest
ais_NearestApex = ais.NearestApex
ais_ProjectPointOnLine = ais.ProjectPointOnLine
ais_ProjectPointOnPlane = ais.ProjectPointOnPlane
ais_TranslatePointToBound = ais.TranslatePointToBound
AIS_GraphicTool_GetInteriorColor = AIS_GraphicTool.GetInteriorColor
AIS_GraphicTool_GetInteriorColor = AIS_GraphicTool.GetInteriorColor
AIS_GraphicTool_GetLineAtt = AIS_GraphicTool.GetLineAtt
AIS_GraphicTool_GetLineColor = AIS_GraphicTool.GetLineColor
AIS_GraphicTool_GetLineColor = AIS_GraphicTool.GetLineColor
AIS_GraphicTool_GetLineType = AIS_GraphicTool.GetLineType
AIS_GraphicTool_GetLineWidth = AIS_GraphicTool.GetLineWidth
AIS_GraphicTool_GetMaterial = AIS_GraphicTool.GetMaterial
AIS_ColorScale_FindColor = AIS_ColorScale.FindColor
AIS_ColorScale_FindColor = AIS_ColorScale.FindColor
AIS_ColorScale_hueToValidRange = AIS_ColorScale.hueToValidRange
AIS_Shape_SelectionMode = AIS_Shape.SelectionMode
AIS_Shape_SelectionType = AIS_Shape.SelectionType
AIS_Shape_computeHlrPresentation = AIS_Shape.computeHlrPresentation
AIS_ViewCube_IsBoxCorner = AIS_ViewCube.IsBoxCorner
AIS_ViewCube_IsBoxEdge = AIS_ViewCube.IsBoxEdge
AIS_ViewCube_IsBoxSide = AIS_ViewCube.IsBoxSide
AIS_EqualDistanceRelation_ComputeOneEdgeOneVertexLength = AIS_EqualDistanceRelation.ComputeOneEdgeOneVertexLength
AIS_EqualDistanceRelation_ComputeTwoEdgesLength = AIS_EqualDistanceRelation.ComputeTwoEdgesLength
AIS_EqualDistanceRelation_ComputeTwoVerticesLength = AIS_EqualDistanceRelation.ComputeTwoVerticesLength
